同时使用GWT火力地堡服务工作者没有找到(404错误)

罗马:

我想在我的GWT的web应用使用火力云通讯服务,但我坚持着一些问题。该应用程序应该能够注册的火力点服务人员,并与它的具体令牌连接到服务。此令牌,接收到的消息和当令牌的变化应该是在我的GWT Java代码accessable事件。

当我尝试使用handle.getToken来创建令牌()时发生错误。我收到此错误信息:

坏HTTP响应代码(404)获取的脚本时已被接收。
未能加载资源:净:: ERR_INVALID_RESPONSE 

browserErrorMessage:“未能注册ServiceWorker:一个坏HTTP响应代码(404)获取的脚本时已被接收。” 
代码:“短信/失败-serviceworker注册” 
的消息:“消息:我们无法注册默认的服务人员无法注册ServiceWorker:A坏的HTTP响应代码(404)获取脚本时收到(信息/失败-serviceworker注册)“。
栈:“FirebaseError:消息:我们无法注册默认服务人员未能注册ServiceWorker:A坏的HTTP响应代码(404)获取脚本时收到(信息/失败-serviceworker注册).↵在https://www.gstatic.com/firebasejs/3.5.2/firebase-messaging.js:41:225"__proto__:错误

它试图访问注册服务工作者的网址是:http://127.0.0.1:11111/firebase-messaging-sw.js

所以很明显的问题是,它试图从我的本地主机地址访问的JavaScript,而不是在其他的火力点JS文件的位置。所以我的问题是我怎么能更改,以便它加载从正确的源文件?

这些脚本包含在我的HTML文件:

<script src="https://www.gstatic.com/firebasejs/3.6.1/firebase.js"></script>
<script src="https://www.gstatic.com/firebasejs/3.5.2/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/3.5.2/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/3.5.2/firebase-database.js"></script>
<script src="https://www.gstatic.com/firebasejs/3.5.2/firebase-messaging.js"></script>
<script>
  // Initialize Firebase
  var config = {
    apiKey: "AIzaSyBxdZNXHiLR1IC8Wrw3Y6q_5DFoN8hn_UY",
    authDomain: "fir-test-848de.firebaseapp.com",
    databaseURL: "https://fir-test-848de.firebaseio.com",
    storageBucket: "fir-test-848de.appspot.com",
    messagingSenderId: "974661154941"
  };
  firebase.initializeApp(config);
</script>

这是我的Java代码:

公共类火力
{ 

    私人JavaScriptObject _messagingHandle; 
    私人字符串_token; 

    公共火力()
    { 
        _messagingHandle = createMessagingHandle(); 
        requestPermission(_messagingHandle,本); 
    } 

    私人本地JavaScriptObject createMessagingHandle()
    / * - { 
        返回$ wnd.firebase.messaging(); 
    } - * /; 

    私人本地无效listenTokenRefresh(最终JavaScriptObject手柄)
    / * - { 
        handle.onTokenRefresh(函数()
        { 
            例如@ x.client.miscellaneous.FireBase :: onTokenRefresh()(); 
        }); 
    } - * /;

    私人无效onTokenRefresh()
    { 
        为gettoken(_messagingHandle,本); 
    } 

    私人无效本土requestPermission(最终JavaScriptObject手柄,最终对象实例)
    / * - { 
        handle.requestPermission(),然后(函数()。
        { 
            $ wnd.console.log( '通知权限授予'); 
            。比如@ X。 client.miscellaneous.FireBase :: onPermission(Z)(TRUE); 
        })
    } - * /; 

    私人无效onPermission(最终布尔授予)
    { 
        如果(授予)
        { 
            为gettoken(_messagingHandle,这一点); 
        } 
    }

    私人本地无效为gettoken(最终JavaScriptObject手柄,最终对象实例)
    / * - { 
        。handle.getToken(),然后(函数(currentToken)
        { 
            如果(currentToken)
            { 
                。比如@ x.client.miscellaneous.FireBase :: onTokenReceived(Ljava /朗/字符串;)(currentToken); 
            } 
            其他
            { 
                //显示权限请求。
                $ wnd.console.log( '没有实例ID令牌可请求权限生成一个。'); 
                。比如@ x.client.miscellaneous .FireBase :: onTokenReceived(Ljava /郎/字符串;)(空); 
            } 
        })

    } - * /;

    私人无效onTokenReceived(最后弦乐令牌)
    { 
        如果(!令牌= NULL)
        { 
            GWT.log( “接收的令牌:” +令牌); 
            如果(!token.equals(_token))
            { 
                //发送/更新令牌服务器
            } 
        } 
    } 
}
马特·冈特:

在火力地堡SDK试图在特定的位置,以注册服务工作者。

该位置是+ /firebase-messaging-sw.js。有两个选项:

在浏览器(1)制作+ /firebase-messaging-sw.js工作,即确保它返回一个有效的响应),然后再次尝试使用SDK(它应该工作,如果浏览器可以访问该文件)。

2)使用useServiceworker(<service worker registration>)方法在自定义服务工作者通过。这仍然需要你有一个有效的服务工作网址。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

离子 PWA 服务工作者 - 没有 CORS

未找到reactjs服务工作者.license文件

具有SSL证书缓存的服务工作者

需要有关在域中使用多服务工作者的信息

服务工作者缓存与 VuexPersistence

如何卸载服务工作者?

notificationclick事件服务工作者

服务工作者中的XMLHttpRequest

为什么404.html在服务工作者缓存期间导致未捕获的错误?

成功注册服务工作者后,为什么没有点击ServiceWorkerRegistration回调?

全局错误处理在服务工作者中如何工作?

PWA-服务工作者(反应)如何工作?

服务工作者不在离线工作

服务工作者,它是如何工作的?

使用Workbox CLI及其服务工作者生成器的PWA无法离线工作

使用 PWA 服务工作者在离线模式下保存/提供 Web 服务

Firefox:服务工作者:安全错误:DOMException:操作不安全

通过http的服务工作者:获取脚本时发生SSL证书错误

Angular 6-“服务工作者被禁用或不支持”错误

Chrome开发者工具服务工作者错误图标/计数

Angular PWA错误无法安装站点:未检测到匹配的服务工作者

如何在其他所有请求之前加载服务工作者?

如何安装带有单个Javascript标记的服务工作者和清单?

将服务工作者保存在缓存中有意义吗?

具有自签名证书的高级Web应用程序服务工作者

服务工作者在反应中缓存的路由

WebView:以编程方式清除服务工作者缓存

Firebase Web推送通知服务工作者问题

“未定义窗口”服务工作者