我必须处理带有纯文本的大型数据集。我通过云将这些数据作为多个块获取,并使用网络工作者来处理和格式化数据。最后,我想把它下载到用户的本地存储中。因此,我使用FileSaver.js中定义的 Blob 和 saveAs()来授予跨浏览器兼容性。我想通过 URL.createObjectURL 发送对最终数据的引用,并将 URL 的 DOMString 传递回我的主线程。这在 Chrome 或 Edge 中运行良好,但 IE11 会产生一些问题。如果我 console.log 检索到的 URL,Chrome 和 Edge 会给我以下结果:
blob:"reference to website"/"XXXX-XXXXX-XXXXX-XXXX"
但是如果我在 IE11 中做同样的事情,我会得到以下结果:
blob:"XXXX-XXXXX-XXXXX-XXXX"
这是一个示例代码:https ://jsfiddle.net/BoesingaGit/Lvx20uj8/6/ 我在这里不使用网络工作者,因为没有它也存在问题。可悲的是,saveAs 函数在 JSFiddle 中不起作用,但它在我的常规代码中起作用。在 Chrome 中可以下载 url,但在 IE 中不行。如果你看一下控制台,你会发现 Chrome 和 IE 中的 URL 是不同的。我猜这会导致在 IE 中下载失败。是否有原因,为什么在 IE 中没有引用我的网站?
谢谢。