有没有一种方法可以创建从另一个站点加载源的SharedWorker?

问题描述

| 假设我的html文件来自http://foo.com/index.html,其中的http://bar.com/bar.js有一个“ 0”标记。在bar.js中,我想启动一个URL为http://bar.com/worker.js的SharedWorker。有没有办法做到这一点(也许像jsonp)?     

解决方法

        目前,进行这种跨域访问的首选方法是使用W3 CORS规范。 跨域资源共享 但是,如果您不控制bar.com上的网站,这可能不适合您。如果这样做,那么CORS绝对是一个不错的选择,但是如果bar.com由另一方运行,则可能需要使用JSONP,因为CORS依赖于该站点发回特定的标头,以授权浏览器下载您请求的资源。     ,        这是我发现的解决方案: 在函数内编写脚本(可以是内部函数) 使用function.toString()获取文本(删除函数声明并关闭大括号) 将文本附加到BlobBuilder并获取blob 使用window.URL.createObjectURL将Blob转换为url 使用该URL作为工作人员