javascript - 在 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)访问时才有效。
有谁知道为什么会这样?
解决方案
我能够通过从 url 中删除单词“BLOB:”来使其工作,仅适用于 IE。
new Worker(URL.createObjectURL(new Blob([""])).replace('blob:',''));
这在http://localhost/ie.html和 c:\inetpub\wwwroot\ie.html都有效
推荐阅读
- heroku - 如何使用 blazegraph 托管我自己的 Triplestore?
- symfony - Symfony 5 - 自定义 Twig 错误模板
- sql - DB2 SQL 添加列值
- python - 为什么相同的代码会在 pycharm 和终端中产生不同的结果?
- r - 使用公式将 ifelse() 条件应用于数据框中的多个列以获取 NA 的值,该公式使用链接到列中另一个值的公式
- maven - 当质量门失败时,如何使 Maven 构建失败?
- .net-core - 在 Startup 中创建 ILogger 实例
- python - 用于反向外键查找的 Django 自定义管理器(相关管理器)
- json - 使用 Swift 5 解码包含在字典中的 JSON 数组
- r - 将 NA 和 NaN 替换为跨多个列的列平均值