Dynamically generated favicon

后端 未结 4 2047
有刺的猬
有刺的猬 2020-12-07 10:21

Would it be possible using only JavaScript and HTML to dynamically generate a favicon, using the current page\'s favicon as a background, and a random number in the foregrou

4条回答
  •  有刺的猬
    2020-12-07 10:39

    EDIT: Got it working with

    var canvas = document.createElement('canvas');
        canvas.width = 16;canvas.height = 16;
        var ctx = canvas.getContext('2d');
        var img = new Image();
        img.src = '/favicon.ico';
        img.onload = function() {
            ctx.drawImage(img, 0, 0);
            ctx.fillStyle = "#F00";
            ctx.fillRect(10, 7, 6, 8);
            ctx.fillStyle = '#FFFFFF';
            ctx.font = 'bold 10px sans-serif';
            ctx.fillText('2', 10, 14);
    
            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);
        }
    

    You can actually run chrome and paste this:

    javascript: var canvas = document.createElement('canvas');canvas.width = 16;canvas.height = 16;var ctx = canvas.getContext('2d');var img = new Image();img.src = '/favicon.ico';img.onload = function() {ctx.drawImage(img, 0, 0);ctx.fillStyle = "#F00";ctx.fillRect(10, 7, 6, 8);ctx.fillStyle = '#FFFFFF';ctx.font = 'bold 10px sans-serif';ctx.fillText('2', 10, 14);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);}
    

    into the browser and see it in action.

    enter image description here

提交回复
热议问题