首页 > 解决方案 > 在 Internet Explorer 中将 ServiceWorker 与 Blob 一起使用时本地文件出错(仅限)

问题描述

在Javascript中,当使用带有blob的服务工作者时,仅适用于IE,当我对离线文件(c:\ test.html)使用非本地模式时,会发生错误。您可以使用以下代码进行模拟: new Worker(URL.createObjectURL(new Blob([""])));

在域内运行 IE(例如:http://localhost/index.html)可以正常工作。 在此处输入图像描述

如果它在物理物理内部(例如:C:\inetpub\wwwroot\index.html)在 IE 中运行,则会发生错误,它会显示“无效功能”。 在此处输入图像描述

就我而言,我的系统会生成一个文件并将其下载给用户,然后用户在您的 PC 上物理打开它(离线),我不依赖互联网,以防即使 firefox 和 chrome 也能完美运行,在IE 仅在我获取文件并放入 IIS 并通过域(localhost)访问时才有效。

有谁知道为什么会这样?

标签: javascriptinternet-explorerservice-worker

解决方案


我能够通过从 url 中删除单词“BLOB:”来使其工作,仅适用于 IE。

new Worker(URL.createObjectURL(new Blob([""])).replace('blob:',''));

这在http://localhost/ie.html和 c:\inetpub\wwwroot\ie.html都有效


推荐阅读