ウェブサイトにファビコンを追加して、そのタブを識別できるようにしたい。ただし、ファビコンをファイルにしたくありません。Javascriptで作成する最良の方法は何ですか?
理由
- ファビコンファイルには追加のHTTPリクエストが必要であり、ページの読み込み時間が長くなります。
- Webサーバーを変更すると、静的コンテンツの提供が別の方法に変更され、頭痛の種になる可能性があります。
PS:私はこれに対する答えとして解決策を提示しましたが、もっと良い方法があるのではないかと思います。
ウェブサイトにファビコンを追加して、そのタブを識別できるようにしたい。ただし、ファビコンをファイルにしたくありません。Javascriptで作成する最良の方法は何ですか?
理由
PS:私はこれに対する答えとして解決策を提示しましたが、もっと良い方法があるのではないかと思います。
シンプルなフォーム ベースのグラフィックで十分な場合は、HTML5 Canvas を使用してファビコンを作成できます。読み込み後に favicon 画像を変更する試みが成功しています。同様に、基本的なキャンバス API を使用して、完全に JavaScript でファビコンを作成できます。次の例では、緑色の正方形が付いたグレーのファビコンを作成して設定します。
<script>
var canvas = document.createElement('canvas');
canvas.width = 16;
canvas.height = 16;
var ctx = canvas.getContext('2d');
ctx.fillStyle = "#aaa";
ctx.fillRect(0, 0, 16, 16);
ctx.fillStyle = "#afa";
ctx.fillRect(4, 4, 8, 8);
var link = document.createElement('link');
link.type = 'image/x-icon';
link.rel = 'shortcut icon';
link.href = canvas.toDataURL("image/x-icon");
document.getElementsByTagName('head')[0].appendChild(link);
</script>
現在古いバージョンの Internet Explorer (<9) の場合、Explorer Canvasのような回避策が必要です。その方法については、公式の指示を参照してください。