在我们的Web应用程序中,我们使用以下服务器通信方法
> XMLHttpRequest
在两种情况下,我们都发送相同的内容/数据,但是XMLHttpRequest是在网络内部运行的.
使用的浏览器是带有–disable-web-security标志的Chrome浏览器.
是否有任何原因导致Web Worker XMLHttpRequest在worker内部而不在外部失败?
如果将XMLHttpRequest的完全相同的代码从工作程序移动到普通的JavaScript,那么它工作正常吗?
错误:
XMLHttpRequest无法加载URL. Access-Control-Allow-Origin不允许使用原始文件://.
解决方法:
更新:
经过大多数团队的共同努力,我们发现在Chrome中,Web worker似乎在运行安全性上与主浏览器不同. (这是指当浏览器以–disable-web-security运行时,Web工作者不会).
我们试图从(file:///)访问域资源(http://domain.com/resource).尽管禁用了Web安全性的浏览器运行,解决方案是让服务器以标头’Access-Control-Allow-Origin:*’进行响应.
尽管我们可以使用file:///代替通配符,但我们不确定在生产中的各个设备上这可能如何变化,并且由于我们在封闭的网络中运行,因此不必担心.
一天结束时,代码仍然完全不变,只需要更改服务器响应标头中的内容即可.