在我的服务器上,我记录了以下内容:
GET /js/workers/one.js 200 2.509 ms - 828
GET /js/workers/one.js 304 1.593 ms - -
GET /js/workers/one.js 304 0.499 ms - -
GET /js/workers/one.js 304 0.464 ms - -
GET /js/workers/one.js 304 1.101 ms - -
(注意200,然后是4304 s)
在我的前端代码中,有以下内容:
var myWorker = new Worker('/js/workers/one.js');
为什么我的前端不以某种方式缓存这个文件?每次我打电话给new Worker()
它都会请求相同的文件.
解决这个问题的一种方法(可能)是将文件放在一个<script>
标记中,如下所示:
<script src="/js/workers/one.js"></script>
然而,这方面的问题是"importScripts“不能工作。
也许这个能行?
if(typeof importScripts === 'function'){
importScripts('https://cdnjs.cloudflare.com/ajax/libs/react/0.14.3/react.js');
importScripts('https://cdnjs.cloudflare.com/ajax/libs/react/0.14.3/react-dom.js');
}
防止新工作人员()重新请求文件的最佳方法是什么?
更新:
如果我将js/workers.one.js文件放在如下的脚本标记中
<script src="/js/workers/one"></script>
然后服务器执行以下操作:
GET /js/workers/one.js 304 0.521 ms - -
GET /js/workers/one.js 304 0.605 ms - -
GET /js/workers/one.js 304 0.289 ms - -
GET /js/workers/one.js 304 0.300 ms - -
GET /js/workers/one.js 304 0.347 ms - -
(请留意5304 s)
所以它已经加载了,(不像以前有200个响应),但是新Worker()一直在请求它.
发布于 2015-12-17 01:15:29
https://stackoverflow.com/questions/34324442
复制相似问题