【发布时间】:2014-10-16 23:05:38
【问题描述】:
我在创建依赖于网络工作者的托管 API 时遇到了一个有趣的问题。我希望能得到一些社区反馈。
我的服务器设置了适当的 CORS 标头以传递工作 JS 文件,并且可以使用 XMLHttpRequest 对象进行检索。但是,当将 URL 提供给 new Worker() 时,它无法构建,原因是问题的来源。这似乎是 Firefox 和 Chrome 的问题。自己检查一下,我的解决方法在这里:http://jsfiddle.net/5ag42hb1/11/
这不是奇怪的行为吗? Mozilla 文档说 Web Workers must obey same-origin policy 并使用 CORS 来允许跨域访问。
fiddle 有一种解决方法,将文件存储在 blob 中,然后将其传递给 worker。不过,这似乎不太理想,引入了许多不必要的复杂性。谁能想到更清洁的解决方案?是否有一个很好的渠道可以正确实施?
【问题讨论】:
-
那么你的小提琴意味着什么?我收到 2 条成功消息。
-
3 条成功消息。它通过 AJAX 得到很好,如果你将它作为 blob 传递它可以工作,但如果你将 URL 传递给工作人员,那么它似乎会忽略 CORS 并失败。我想要一个单独的小提琴来解决这个问题,但我没有足够的声誉,所以我把它全部塞进了一个。
标签: javascript html cors web-worker