主线程的js 代码直接嵌在html文件内,html文档和works.js路径如图所示:主线程代码如下,”新线程的url,必须在本域下“到底应该怎么操作?:<script>var w;function startWorker() { if(typeof(Worker) !== "undefined") { if(typeof(w) == "undefined") { w = new Worker("js/works.js");//我们在一个外部 JavaScript 中创建我们的 web worker。新线程的url,必须在本域下。 } w.onmessage = function(event) { document.getElementById("result").innerHTML = event.data; }; } else { document.getElementById("result").innerHTML = "抱歉,你的浏览器不支持 Web Workers..."; }}</script>报错信息如下图,而且我是在本地上运行的代码,没有放在服务器上,浏览器是chrome的,不存在不兼容的情况:
1 回答
慕的地6264312
TA贡献1817条经验 获得超6个赞
好像是你直接打开了html文件,导致了跨域问题。你可以搭建一个服务器环境跑一跑。我刚测试了你的代码,成功运行。
你可以在本地搭建一个服务器环境,模拟同域,进行测试。一下意见几个简单的临时服务器方案。
php5.4以上
可以在当前目录打开命令行,执行
php -s localhost:8080
然后可以直接访问 http://localhost:8000。
python
在当前目录打开命令行,执行
python -m SimpleHTTPServer
# 默认启动在8000端口
然后打开 http://localhost:8000。
如果你有node,可以试试json-server 具体的我也忘了,你可以查查资料。
当然用什么不重要,最重要的是搭建一个服务器环境,解决跨域问题。本地同服务器下所有的资源都是同域
添加回答
举报
0/150
提交
取消