На моем сервере я это вошло:WebWorkers - новый работник сохраняет запрашивающий же сценарий с сервера
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, а затем 4-304s)
в моей фронтальной коде есть заключается в следующем:
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');
}
Что является лучшим способом предотвратить новый рабочий() от повторного запроса файла?
UPDATE:
Если я поставил 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 - -
(уведомление 5 304s)
поэтому он уже загружен (в отличие от того, где был один ответ 200), но новый рабочий() ke eps с просьбой об этом ...