4
我試圖找出如何正確地註冊服務工作者,在發展中一切工作正常,我叫服務人員:註冊服務工作者在不同的文件夾
if (navigator.serviceWorker) {
navigator.serviceWorker.register('./sw.js').then(function(reg) {
if (reg.waiting) {
reg.waiting.postMessage({ action: 'skipWaiting' });
return;
}
reg.addEventListener('updatefound', function() {
trackInstalling(reg.installing);
});
var refreshing;
navigator.serviceWorker.addEventListener('controllerchange', function() {
if (refreshing) return;
window.location.reload();
refreshing = true;
});
});
}
緩存列出如下:
var urlsToCache = [
'/',
'/index.html',
'/css/app.min.css',
'/js/app.min.js',
'/js/library.min.js',
'/views/line.html',
'/views/start.html',
'/views/station.html',
'/views/timetable.html'
];
這只是我爲Udacity所做的一個項目,所以頁面不會擁有它自己的域名。不過,我仍然希望將最終版本保留在文件夾/火車/上,但服務人員在主域下注冊,因此緩存錯誤的文件。
如果我添加'train/index.html'
服務人員正在尋找'train/train/index.html'
。如果嘗試在「火車」文件夾中註冊維修工人,則會發生同樣的情況...
我應該怎麼做才能使項目的在線版本正常工作?
您是否嘗試過相對使緩存網址,結果你(即除去前面的斜槓?)從添加'train/index.html''得到的結果表明這可能是你想要的。 –
真的......那很容易...... :)是的,它工作 – TheFullResolution
把它放在答案我會投票! – TheFullResolution