IE8 中 data:uri 的 32KB 限制的任何解决方法
Any workaround for the 32KB limit on data:uri in IE8?
我想在HTML
img
元素中加载图片,单击JavaScript
按钮。JavaScript
调用ActiveX
函数并获取一个表示图像的 BASE64 编码字符串,然后将其放入img
src
中,如下所示:
var message = activex.GetImage(param);
var img = document.getElementById("imgPhoto").src = "data:image/jpeg;base64, ".concat(message);
问题是我在最近的一个向后兼容IE8
IE
中对其进行了测试,并且它有效,但实际IE8
对data:uri
有 32KB 的限制,这意味着我的图片被切断,只显示 ~32KB。
解决 方案:
- 我正在考虑将
BMP
s转换为JPEG
s,但我仍然无法保证它们不会超过限制。 - 我也见过这种方法,其中图像通过
CSS
加载MHTML
,但我看不出我每次如何重写CSS
文件。据我了解,JavaScript
无法真正在您的磁盘上写入文件。
考虑到我的限制,有人设法克服了这个限制吗?
我建议完全避免使用BMP - 改用JPEG。您将获得更小的文件大小和更好的性能。更不用说,您经常会低于 32kb 的限制。在 32kb 仍然不够的情况下,通常情况下,您可以通过从图像文件本身中删除不必要的元数据(常见于 Adobe Photoshop 等应用程序)来减少更多字节。如果在压缩和删除元数据后 32kb 仍然不够,我建议您再次考虑数据 URI 是否合适。
相关文章:
- JavaScript没有'JSP页面重定向后无法工作..任何解决方案
- 移动隐藏菜单适用于jsfiddle,但不适用于在线.任何解决方案都会有所帮助
- IE8 中 data:uri 的 32KB 限制的任何解决方法
- Mozilla Firefox表示未定义Referenceerror事件,没有任何解决方案有效
- 溢出-x:可见;不适用于溢出-y:自动;任何解决方法
- 选择下拉列表值而不是第一个索引的任何解决方案
- <选项> 禁用属性在 IE 之前的版本 8 中不受支持.任何解决方法
- 我可以将 $(this) 传递给 .getJSON 回调函数吗?任何解决方法
- Opera 12 的输入类型=数字有效性行为的任何解决方法
- 我正在尝试遍历所有字母表的数组并将所有其他字母大写.任何解决方案
- 文本区域属性 wrap=hard 不适用于粘贴的文本,任何解决方法
- 是否有任何解决方法可以重新抛出异常并在Javascript中保留堆栈争用
- 是否有任何解决方案来引用javascript文件不在当前的解决方案,在VS2010智能感知
- 是否有任何解决方案来运行混合内容
- 改变背景大小需要新的背景位置,任何解决方法
- 任何解决表单上id和name冲突的方法
- 在程序中使用不可猜测链接的任何解决方案
- 谷歌地图静态api url长度超过2048字符是否有任何解决方案?目的是保存为图像
- DOMContentLoaded在访问几个网站时不会被触发.任何解决方案
- 如何通过jQuery / c#实现任何html代码的(自动)代码格式选择?(任何解决方案)