データURIでファビコンを作成する
HTMLリンクタグで直接動作するデータURIファビコンを生成。ファビコンのHTTPリクエストを排除し、JavaScriptで動的ファビコンをサポート。
Web Development
詳細な説明
データURIファビコン
ファビコンは<link>タグでデータURIとして指定でき、個別のfavicon.icoファイルリクエストの必要性を排除できます。これはシングルページアプリケーション、ドキュメントサイト、クイックプロトタイプに特に便利です。
基本的な実装
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo..." />
SVGファビコン(モダンブラウザ):
<link rel="icon" type="image/svg+xml" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ctext y='.9em' font-size='90'%3E%F0%9F%94%A7%3C/text%3E%3C/svg%3E" />
JavaScriptによる動的ファビコン
データURIにより、アプリケーションの状態に基づいて変化する動的ファビコンが可能になります:
function setFavicon(emoji) {
const svg = \`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><text y=".9em" font-size="90">\${emoji}</text></svg>\`;
const link = document.querySelector("link[rel='icon']");
link.href = "data:image/svg+xml," + encodeURIComponent(svg);
}
setFavicon("🔴");
ブラウザサポート
すべてのモダンブラウザがデータURIファビコンをサポートしています。Safariは非ICOフォーマットにtype属性を必要とします。最大互換性のために、SVG(データURI)と従来の.icoフォールバックの両方を提供してください。
ユースケース
プロジェクト管理ダッシュボードを構築しており、プロジェクトの状態に基づいて動的に変化する色付き円形ファビコンをブラウザタブに表示したい場合。