【发布时间】:2020-08-18 18:32:09
【问题描述】:
我必须处理带有纯文本的大型数据集。我通过云将这些数据作为多个块获取,并使用网络工作者来处理和格式化数据。最后,我想把它下载到用户的本地存储中。因此,我使用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 中没有引用我的网站?
谢谢。
【问题讨论】:
-
我建议您提供任何示例代码。它可以帮助我们更好地理解问题。仅对问题的描述并没有给出有关问题原因的想法。感谢您的理解。
-
感谢您的建议。我添加了一些示例代码。我希望你们现在能更好地理解我的问题。
标签: web blob internet-explorer-11 worker createobjecturl