我正在为我的网站设置一个服务工作者,但它没有注册。我得到了典型的“在获取脚本时收到一个糟糕的HTTP响应代码(404)”。页面加载时的响应。 我已经确保我的home.php和sw.js在同一个目录中。该网站托管在HTTPS上,所以这也不是问题所在。这是每个人在线提供的唯一解决方案,所以坦率地说,在这一点上我感到困惑。如果这有什么不同的话,那就是这个站点托管在Windows服务器上。 下面是我的home.php中注册服务工作者的代码。 if ('serviceWorker' in navigator) {
window.addEventListener('
我成功地注册了一个服务工作者,但是代码
navigator.serviceWorker.ready.then(function(serviceWorkerRegistration) {
// Do we already have a push message subscription?
....
挂起--函数从未被调用过。为什么?
我正在尝试为颤振网络平台设置Firebase推送。
我复制了与各种教程中显示的相同的设置,并遇到了以下错误,
Uncaught (in promise) Error: [firebase_messaging/failed-service-worker-registration] Messaging: We are unable to register the default service worker. Failed to register a ServiceWorker for scope ('http://localhost:61027/firebase-cloud-messag
我想测试库在浏览器中不存在API时的行为。
例如,如果我有以下检查:
if ('serviceWorker' in navigator &&
'PushManager' in window &&
'Notification' in window &&
'showNotification' in ServiceWorkerRegistration.prototype) {
// Do something
} else {
throw new Error('Catch
我的工作是拉里渐进的网页应用程序。我在app.js中启动服务工作者。我的服务工作者文件在./public目录中。它的名字是service-worker.js。
但问题是,当我在本地主机上运行该应用程序时,它会显示控制台中的折叠错误。
“DOMException:未能注册ServiceWorker:脚本具有不受支持的MIME类型(‘text/平原’)。”
那我怎么解决这个请告诉我。在app.js中,我包括以下代码:
if ('serviceWorker' in navigator)
{
window.addEventListener('load',
我正在尝试在Ruby On Rails中注册一个服务工作者,以实现推送通知GCM。但是什么也没发生。请看下面的代码:
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/assets/service-worker.js')
.then(initialiseState);
} else {
window.Demo.debug.log('Service workers aren\'t supported in this browser
我按照这个https://firebase.google.com/docs/cloud-messaging/js/client使用了FCM,下面是错误:
FirebaseError {code: "messaging/failed-serviceworker-registration", message: "Messaging: We are unable to register the default s…ed (messaging/failed-serviceworker-registration).", browserErrorMessage: "
我们的应用程序(在虚拟应用程序中由IIS提供)由提供
从返回的超文本标记语言如下:
<html>
<!-- This file is served as a virtual application from https://myserver.com/myapp-->
<head>
<script src="/myapp/file.js"></script>
</head>
<body>
</body>
要注册serviceworker,我需要添加子文件夹,如下所示
解析为活动的ServiceWorkerRegistration,但是如果有多个服务工作人员在发挥作用(例如,以前页面加载的服务工作者,同一页面中的多个注册),则可以解析多个服务工作人员。如何确保在执行代码块时,特定的服务工作人员正在处理网络事件?
也就是说,我如何编写一个函数registerReady(scriptURL, options),该函数可用于如下所示:
registerReady("foo.js").then(function (r) {
// "foo.js" is active and r.active === navigator.ser
我一直在创建新的项目PWA。当我开发时,没有使用node (socket.io运行),只是像我期望和需要的那样脱机运行。
但是当与nodejs服务器集成时。上线后,应用程序运行良好,不会出现任何问题。但当我切换到脱机模式时,我的服务工作不会运行,而是显示脱机浏览器。
这是我的代码节点js服务器:
var express = require('express');
var app = express();
var server = require('http').Server(app);
var io = require('socket.io'