我正在运行一个可以在 Chrome 和 Firefox 中运行的简单 HTML5 应用程序。它使用网络工作者,如下所示:
\n\nvar worker = new Worker("the/worker/URL/Code.js");\nRun Code Online (Sandbox Code Playgroud)\n\n我在IE中实验了一个多小时,终于发现webworker的代码永远不会重新加载。当我获得它所具有的版本时,为了引发错误,调试器会向我显示工作代码文件的完全过时的版本,尽管所有其他文件都已正确重新加载。
\n\n我刷新了缓存,使用随处可见的标准建议:安全 -> 删除浏览历史记录 -> 选择项目 -> 确定 -> 等待 -> Ctrl+F5 重新加载 -> BAM,调试器仍然显示与多个文件 100% 相同的文件几小时前(请记住,在 Chrome 和 FF 中重新加载按预期进行)。
\n\n当我查看网络分析器时,我看到:
\n\nURL 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\nRun Code Online (Sandbox Code Playgroud)\n\n我不知道为什么它显示“待处理”;我可以看到工作人员已经运行:我可以看到工作人员正在完成的工作(例如importScripts显示,并且还有上面提到的堆栈跟踪)。但它只是运行一个完全过时的版本,即使我刷新了整个缓存数十次。
这是一个超级错误,还是我很愚蠢?
\n