我试图弄清楚它的源代码,但我无法理解它。
我想知道如何制作像Gmail一样的动态图标。
关于如何做到这一点的任何想法?
答案 0 :(得分:59)
您可以使用canvas
元素制作图像,然后只需替换当前的图标。请查看以下链接以获得有关它的详细说明。
的 Reference 强>
代码来自上述参考。
<强>标记强>
<link id="favicon" rel="icon" type="image/png" href="image.png" />
<强> JS 强>
(function () {
var canvas = document.createElement('canvas'),
ctx,
img = document.createElement('img'),
link = document.getElementById('favicon').cloneNode(true),
day = (new Date).getDate() + '';
if (canvas.getContext) {
canvas.height = canvas.width = 16; // set the size
ctx = canvas.getContext('2d');
img.onload = function () { // once the image has loaded
ctx.drawImage(this, 0, 0);
ctx.font = 'bold 10px "helvetica", sans-serif';
ctx.fillStyle = '#F0EEDD';
if (day.length == 1) day = '0' + day;
ctx.fillText(day, 2, 12);
link.href = canvas.toDataURL('image/png');
document.body.appendChild(link);
};
img.src = 'image.png';
}
})();
修改强>
也必须设置图像。