【发布时间】:2022-05-06 09:07:00
【问题描述】:
如何使用从字符串(通过 POST 请求提供)创建 Web 工作者?
我能想到的一种方法,但我不确定如何实现它,是通过从服务器响应创建一个 data-URI,并将其传递给 Worker 构造函数,但我听说有些浏览器不'不允许这样做,因为相同的来源政策。
MDN states the uncertainty about the origin policy around data URI's:
注意:作为 Worker 构造函数参数传递的 URI 必须遵守同源策略。目前浏览器厂商对于数据 URI 是否同源存在分歧; Gecko 10.0 (Firefox 10.0 / Thunderbird 10.0) 及更高版本允许数据 URI 作为工作人员的有效脚本。其他浏览器可能不同意。
这里还有一个帖子discussing it on the whatwg。
【问题讨论】:
-
我想知道 CORS (w3.org/TR/cors) 是否会有所帮助。 HTMl5rocks 在针对工人 (html5rocks.com/en/tutorials/workers/basics) 的同源政策方面使用了强大的“必须”语言,因此 CORS 在这里可能没有多大帮助。你试过了吗?
标签: javascript web-worker data-uri