相关疑难解决方法(0)

Web Worker 文件被缓存并且不会在 IE 11 中重新加载

我正在运行一个可以在 Chrome 和 Firefox 中运行的简单 HTML5 应用程序。它使用网络工作者,如下所示:

\n\n
var worker = new Worker("the/worker/URL/Code.js");\n
Run Code Online (Sandbox Code Playgroud)\n\n

我在IE中实验了一个多小时,终于发现webworker的代码永远不会重新加载。当我获得它所具有的版本时,为了引发错误,调试器会向我显示工作代码文件的完全过时的版本,尽管所有其他文件都已正确重新加载。

\n\n

我刷新了缓存,使用随处可见的标准建议:安全 -> 删除浏览历史记录 -> 选择项目 -> 确定 -> 等待 -> Ctrl+F5 重新加载 -> BAM,调试器仍然显示与多个文件 100% 相同的文件几小时前(请记住,在 Chrome 和 FF 中重新加载按预期进行)。

\n\n

当我查看网络分析器时,我看到:

\n\n
URL Protocol    Method  Result  Type    Received    Taken   Initiator   Wait\xe2\x80\x8e\xe2\x80\x8e  Start\xe2\x80\x8e\xe2\x80\x8e Request\xe2\x80\x8e\xe2\x80\x8e   Response\xe2\x80\x8e\xe2\x80\x8e  Cache read\xe2\x80\x8e\xe2\x80\x8e    Gap\xe2\x80\x8e\xe2\x80\x8e\n/js/core/WorkerScriptCode.js    (Pending...)    GET (Pending...)    (Pending...)    0 B (Pending...)    webworker   1311    0   0   0   0   31\n
Run Code Online (Sandbox Code Playgroud)\n\n

我不知道为什么它显示“待处理”;我可以看到工作人员已经运行:我可以看到工作人员正在完成的工作(例如importScripts显示,并且还有上面提到的堆栈跟踪)。但它只是运行一个完全过时的版本,即使我刷新了整个缓存数十次。

\n\n

这是一个超级错误,还是我很愚蠢?

\n

html javascript internet-explorer caching web-worker

5
推荐指数
1
解决办法
2146
查看次数