我在example.com
有一个网站,我正在为cdn.example.com
的所有外部资源提供服务。所以在example.com
的HTML页面中,我有类似的内容:
<script type="text/javascript" src="http://cdn.example.com/script.js"></script>
在我的脚本中,我想创建一个Web Worker,所以我这样做:
worker = new Worker("http://cdn.example.com/script.js");
但是在导致Failed to load script: http://cdn.example.com/script.js (nsresult = 0x805303f4)
错误的Firefox 16上失败了。它适用于Safari 6和Chrome 22。
似乎问题是因为origins differ。脚本的有效来源为example.com
,cdn.example.com
与此不匹配。这似乎是一个错误,因为没有CORS没有设置document.domain
有帮助(或者至少我不能通过玩它来使它工作)。有没有办法让它发挥作用?
答案 0 :(得分:2)
最后,我在example.com
创建了一个网站,提供了一个简单的JavaScript代码,其中包含真实的网络代码:
importScripts('http://cdn.example.com/script.js');
然后通过指向它来创建Web worker。