javascript - 动态生成的 Favicon Icon 在 IE 和 edge 中非常小。
问题描述
我正在尝试调用返回二进制数据(base64)的 API。当我上传图像时,它会以二进制格式存储在数据库中,并且页面图标会动态更新。在 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);
解决方案
实际问题是即使图像尺寸是 32*32,在将其转换为 base64 格式时,代码会将尺寸转换为 200 * 60,这是实现其他功能所需的。
var base64Data = FileTools.GetResizedImageBase64FromDataUri(image.FileData, 200, 60);
简单地通过分离逻辑来实现两种不同的功能并将一个的维度更改为 32*32 解决了这个问题。
推荐阅读
- javascript - Office Addin Excel 不保存
- c++ - 如何调用模板参数的模板方法?
- javascript - 循环内css转换的奇怪行为
- mysql - 在 INFORMATION_SCHEMA.COLUMNS 和 INFORMATION_SCHEMA.KEY_COLUMN_USAGE 上的 MySQL FULL OUTER JOIN
- c - arm 32 字节移动与 ldm/stm 作为内联 asm
- linux - 是否可以使用 samba 共享一个 linux 命名管道?
- ruby - 安装 openssl (2.2.0) 时出错,在 cmd bundle install 时 Bundler 无法继续
- spring-boot - jspService(HttpServletRequest, HttpServletResponse) 在 weblogic12c 中的 Spring Boot 中超过了 65535 字节的限制
- yang - yang cli-show-template 不替换叶值
- pdf - 我可以将 Google Apps 脚本程序连接到外部 Tesseract OCR 软件以获得更强大的 OCR 吗?