Javascript IE8中有没有解决32KB数据限制的方法:uri?
我想在按钮上的Javascript IE8中有没有解决32KB数据限制的方法:uri?,javascript,html,internet-explorer,internet-explorer-8,data-uri,Javascript,Html,Internet Explorer,Internet Explorer 8,Data Uri,我想在按钮上的HTMLimg元素中加载图片,点击JavaScript。JavaScript调用一个ActiveX函数并获取一个表示图像的BASE64编码字符串,然后将其放入img也许把图像分解成更小的部分。作为第二种方法,我理解你可以在JS中创建 元素,并将随机ID添加到你创建的元素中,因此,您可以为此创建的元素设置数据uri,如果您需要多次切换图像,这是不好的,但是如果您需要一次,则可以。我需要多次重新加载图像,但JPEG解决方案对我的问题起到了很好的作用。我不得不使用HTML作为概念证明,以
HTML
img
元素中加载图片,点击JavaScript
。JavaScript
调用一个ActiveX
函数并获取一个表示图像的BASE64编码字符串,然后将其放入img
var message = activex.GetImage(param);
var img = document.getElementById("imgPhoto").src = "data:image/jpeg;base64, ".concat(message);
问题是,我在最近的IE
中测试了它,它向后兼容IE8
,并且工作正常,但是实际的IE8
对数据:uri
有32KB的限制,这意味着我的图片被切断,只显示了约32KB
解决方案:
BMP
s转换为JPEG
s,但我仍然不能保证它们不会超过限制MHTML
中的CSS
加载的,但我不知道如何每次都重写CSS
文件。据我所知,JavaScript
无法在磁盘上真正写入文件考虑到我的限制,有人成功地克服了这个限制吗?我建议完全避免使用BMP——改用JPEG。您将获得更小的文件大小和更好的性能。更不用说,你会经常进入32kb的限制之下。在32kb仍然不够的情况下,通常情况下,您可以通过从图像文件本身中删除(与Adobe Photoshop等应用程序常见)来减少更多的字节。如果在压缩和删除元数据之后,32 KB仍然不够,我建议你再考虑一个数据URI是否合适。< /P>也许把图像分解成更小的部分。作为第二种方法,我理解你可以在JS中创建<代码> <代码>元素,并将随机ID添加到你创建的元素中,因此,您可以为此创建的元素设置数据uri,如果您需要多次切换图像,这是不好的,但是如果您需要一次,则可以。我需要多次重新加载图像,但JPEG解决方案对我的问题起到了很好的作用。我不得不使用HTML作为概念证明,以便客户机能够看到图像检索工作,并能够将其集成到他们的环境中。无论如何,谢谢你:)