动态生成的Favicon图标在IE和Edge中很小。

时间:2018-11-09 04:06:27

标签: javascript html dom webpage favicon

我正在尝试调用API,该API返回二进制数据(base64)。当我上传图像时,它以二进制格式存储在数据库中,并且页面图标得到动态更新。在chrome和Firefox中,页面图标可见并且可以正常工作。但是在Edge和IE中,图像看起来太小且拉长。有人知道我该怎么办?

  document.title = title;
            var src = "api/file/getPageLogo";
            src = src + '?=' + Math.random(); 
            var link = document.createElement('link'),
                oldLink = document.getElementById('dynamic-favicon');
            link.id = 'dynamic-favicon';
            link.rel = 'icon';
            link.href = src;
            if (oldLink) {
                document.head.removeChild(oldLink);
            }
            document.head.appendChild(link);  

Does not work in IE

Works in Chrome

1 个答案:

答案 0 :(得分:0)

实际问题是即使图像尺寸为32 * 32,在将其转换为base64格式时,代码也将尺寸转换为200 * 60,这是实现其他功能所必需的。

var base64Data = FileTools.GetResizedImageBase64FromDataUri(image.FileData, 200, 60);

只需将逻辑分开以实现两种不同的功能,并将其中一个的尺寸更改为32 * 32即可解决此问题。