簡體   English   中英

注冊ServiceWorker時如何解決404錯誤?

[英]How do I fix my 404 error when registering a ServiceWorker?

我正在為我的網站設置服務工作者,但未注冊。 我收到典型的“獲取腳本時收到錯誤的HTTP響應代碼(404)”。 頁面加載時的響應。

我已經確保將home.php和sw.js放在同一目錄中。 該站點托管在HTTPS上,因此也不是問題。 這些是任何人在線提供的唯一解決方案,因此,坦白地說,我現在很茫然。 如果有任何不同,則此站點托管在Windows服務器上。

這是我的home.php中應該注冊服務工作者的代碼。

if ('serviceWorker' in navigator) {
        window.addEventListener('load', function() {
            navigator.serviceWorker.register('sw.js').then(function(registration) {
                // Registration was successful
                console.log('Service Worker registration successful with scope: ', registration.scope);
            }, function(err) {
                // registration failed :(
                console.log('ServiceWorker registration failed: ', err);
            });
        });
    }

另一個可能的解決方案是通過https://your.host/sw.js使文件sw.js可以訪問並更改:

navigator.serviceWorker.register('sw.js').then(function(registration) {

對於

navigator.serviceWorker.register('/service-worker.js')

並且由於服務工作者將位於根目錄中,因此服務工作者將控制來自您的域的所有網頁的請求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM