Javascript 添加到主屏幕不工作
我的网站是通过https托管的。 它有manifest.json文件、service-worker.js和软件注册代码。但我没有看到手机上的“添加到主屏幕”弹出窗口。为什么? 以下是index.html文件:Javascript 添加到主屏幕不工作,javascript,html,service-worker,service-worker-events,Javascript,Html,Service Worker,Service Worker Events,我的网站是通过https托管的。 它有manifest.json文件、service-worker.js和软件注册代码。但我没有看到手机上的“添加到主屏幕”弹出窗口。为什么? 以下是index.html文件: 烟火! 欢迎 if(导航器中的“serviceWorker”){ 日志(“服务人员会注册吗?”); navigator.serviceWorker.register('service-worker.js')。然后(函数(reg){ log(“是的,它做到了。”); }).catch(函
烟火!
欢迎
if(导航器中的“serviceWorker”){
日志(“服务人员会注册吗?”);
navigator.serviceWorker.register('service-worker.js')。然后(函数(reg){
log(“是的,它做到了。”);
}).catch(函数(err){
log(“不,没有。发生了:”,错误)
});
}
您必须激活服务人员。简单的注册是不行的
首先查看您的浏览器是否支持服务人员-
另一件重要的事情是,您必须将服务人员代码保存在单独的文件中。您不能将其内联 必须仅通过HTTPS向服务工作者提供服务。出于测试目的,它也可以在本地主机上工作 在HTML中包含main.js文件,并从该文件中调用service worker。打开页面一次以安装service worker,然后关闭以应用它,然后再次打开以激活它 main.js文件
// Call service worker
if ('serviceWorker' in navigator) {
navigator.serviceWorker
.register('/sw.js', {
scope: './'
})
.then(function() {
console.log('Service worker registered!');
})
.catch(function(event) {
console.log('Error:', event);
});
}
sw.js文件(由于范围的原因,必须位于根文件夹中)
您必须激活服务人员。简单的注册是不行的 首先查看您的浏览器是否支持服务人员-
另一件重要的事情是,您必须将服务人员代码保存在单独的文件中。您不能将其内联 必须仅通过HTTPS向服务工作者提供服务。出于测试目的,它也可以在本地主机上工作 在HTML中包含main.js文件,并从该文件中调用service worker。打开页面一次以安装service worker,然后关闭以应用它,然后再次打开以激活它 main.js文件
// Call service worker
if ('serviceWorker' in navigator) {
navigator.serviceWorker
.register('/sw.js', {
scope: './'
})
.then(function() {
console.log('Service worker registered!');
})
.catch(function(event) {
console.log('Error:', event);
});
}
sw.js文件(由于范围的原因,必须位于根文件夹中)
您看过控制台输出了吗?因为我获取
TypeError:注册ServiceWorker失败:获取脚本时收到错误的HTTP响应代码(404)。
当我访问时。您正在尝试获取service worker.js
但失败。该文件存在吗?这是真的。你去过那个地址吗?因为它确实返回404。看一下控制台输出,您看过控制台输出了吗?因为我获取TypeError:注册ServiceWorker失败:获取脚本时收到错误的HTTP响应代码(404)。
当我访问时。您正在尝试获取service worker.js
但失败。该文件存在吗?这是真的。你去过那个地址吗?因为它确实返回404。看看另一件重要的事情是,您必须将服务工作者代码保存在单独的文件中。您不能将其内联。我将更新答案。另一件重要的事情是,您必须将服务人员代码保存在单独的文件中。您不能将其内联。我会更新答案。