Sharepoint 2013 Web worker在sharepoint 2013中创建后未引发错误

Sharepoint 2013 Web worker在sharepoint 2013中创建后未引发错误,sharepoint-2013,web-worker,Sharepoint 2013,Web Worker,我不明白sharepoint中是否有什么东西导致了 我的网络工作者希望在IE11中创建错误后立即抛出错误。同一个工人在chrome上运行得很好。甚至尝试了一个简单的测试: 工作文件: self.addEventListener('message',function(e){ console.log("message"); }) 我正在创建这样的工人: var worker = new Worker('http://{rootSite}/sites/53/Style%20Li

我不明白sharepoint中是否有什么东西导致了 我的网络工作者希望在IE11中创建错误后立即抛出错误。同一个工人在chrome上运行得很好。甚至尝试了一个简单的测试:

工作文件:

     self.addEventListener('message',function(e){  console.log("message");  })    
我正在创建这样的工人:

var worker = new Worker('http://{rootSite}/sites/53/Style%20Library/testworker.js')
worker.addEventListener('message',function(e){  console.log("message");  });
worker.addEventListener('error',function(e){  console.log("error");  });
这很奇怪,因为我在一个非sharepoint网站上测试了相同的脚本,它在IE上工作

但在sharepoint网站上,只要从同一网站的文档库创建测试工作人员。。它抛出了一个错误。。使用空消息


谁能告诉我这是怎么回事

好的。。。因此,对于所有希望在应用程序中使用web workers的share point开发者来说

我仍然不知道为什么在InternetExplorer中,web工作人员无法加载外部脚本

但显然,内联网络工作者是有效的

因此,您可以将工作代码作为文本文件存储在文档库中。然后通过ajax获取其内容,然后创建一个内联工作程序。您将需要window.URL对象和blob构造函数:

首先以字符串形式从javascript代码构建blob:

Var string = "worker code ";
Var blob=new blob([string],{type:“text/javascript”})


Var worker=new worker(URL.createUriObject(blob))

这是一个老问题,但我想给任何一个偶然发现它的人留下一个答案

在IE中通过blob加载Web worker有很多限制。我不建议你走那条路

由于某些原因,当从sharepoint网站加载文件时,Internet Explorer会阻止Web工作人员加载


将Web worker文件存储在_layouts文件夹中效果很好。

是的,就是这样。谢谢你在这里留下答案!