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作为概念证明,以便客户机能够看到图像检索工作,并能够将其集成到他们的环境中。无论如何,谢谢你:)