除非清除缓存,否则Web worker不会在IE中启动

Gle*_*mme 7 javascript sharepoint html5 internet-explorer web-worker

我的HTML5脚本中有一个非常奇怪的错误.我在OData中完全编写了一个sharepoint应用程序,它使用一些HTML 5 webworker在后台进行数字运算.这适用于所有主流浏览器(FF,IE10 + Chrome,...).但是,当我执行刷新或再次浏览页面时.该脚本仍然可以在FF和Chrome上运行,但在IE上挂起.

在我的网络视图中,我看到了对Worker.js文件的请求,但是有一个304 NOT MODIFIED响应.然后IE就挂在那个状态为(Pending)的请求上.清除浏览器缓存时,此问题才会得到解决.

我正确地用self.close()关闭了所有的线程.

知道问题是什么吗?我不确定这是代码问题,浏览器问题还是服务器端问题,但我可以在Sharepoint以及本地服务器上复制Sharepoint上的错误.整个项目只是JS,所以我也不能修改标题作为解决方法.

更新:我在sharepoint环境之外运行完全相同的代码,它运行得很好.问题是与Sharepoint有关.

aja*_*yel 1

使用基于时间的查询字符串参数可以防止缓存在每次刷新时显示 http 状态 200。在最新的 chrome(即 ff)上进行了测试;

var opus = new Worker("worker.js?q=" + new Date().getTime().toString() );
Run Code Online (Sandbox Code Playgroud)

说实话,这可能性不大,因为我现在没有共享点