4

我有一个网站,example.com我正在为所有外部资源提供服务cdn.example.com。所以在我的 HTML 页面中,example.com我有类似的内容:

<script type="text/javascript" src="http://cdn.example.com/script.js"></script>

在我的脚本中,我想创建一个 Web Worker,所以我这样做:

worker = new Worker("http://cdn.example.com/script.js");

但这在 Firefox 16 上失败并Failed to load script: http://cdn.example.com/script.js (nsresult = 0x805303f4)出现错误。它适用于 Safari 6 和 Chrome 22。

看来问题是因为起源不同。脚本的有效来源是example.com并且cdn.example.com不匹配。这似乎是一个错误,因为不是 CORS 没有设置document.domain有帮助(或者至少我无法通过玩它来使其工作)。有什么办法让它工作吗?

4

1 回答 1

1

最后,我为网站example.com提供了一个简单的 JavaScript 代码,其中包括真正的网络工作代码:

importScripts('http://cdn.example.com/script.js');

然后通过指向它来创建网络工作者。

于 2012-10-31T00:47:37.400 回答