简体   繁体   English

Firebase消息importScripts未定义

[英]Firebase messaging importScripts is not defined

I write a WEB application on the platform Firebase 我在Firebase平台上编写了一个WEB应用程序

I have a file "firebase-messaging-sw.js" , and when I access the file from home.html page, I get an error: 我有一个文件“ firebase-messaging-sw.js” ,当我从home.html页面访问该文件时,出现错误:

importScripts is not importScripts不是

File "firebase-messaging-sw.js" is at the root level. 文件“ firebase-messaging-sw.js”在根目录下。

home.html: home.html的:

<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <link rel="shortcut icon" href="img/favicon.png"/>
    <meta name="keywords" content="" />

    <link rel="stylesheet" href="css/reset.css" type="text/css" />
    <link rel="stylesheet" href="css/home.css" type="text/css" media="screen and (min-width:901px)" />
    <link rel="stylesheet" href="css/mhome.css" type="text/css" media="screen and (max-width:900px)" />

</head>

<body>
    <header>
        ...
    </header>

    <div class="function">
        ...
    </div>

    <footer>
        ...
    </footer>

    <!-- The core Firebase JS SDK is always required and must be listed first -->
    <script src="https://www.gstatic.com/firebasejs/6.3.3/firebase-app.js"></script>
    <script src="https://www.gstatic.com/firebasejs/6.3.3/firebase-auth.js"></script>
    <script src="https://www.gstatic.com/firebasejs/6.3.3/firebase-firestore.js"></script>
    <script src="https://www.gstatic.com/firebasejs/6.3.3/firebase-storage.js"></script>
    <script src="https://www.gstatic.com/firebasejs/6.3.3/firebase-messaging.js"></script>
    <script src="https://www.gstatic.com/firebasejs/6.3.3/firebase-performance.js"></script>

    <script src="javaScript/initFirebase.js"></script>
    <script src="javaScript/homeFirebase.js"></script> 
    <script src="javaScript/initHomePage.js"></script> 
    <script src="javaScript/latlon-geohash.js"></script> 

    <script src="firebase-messaging-sw.js"></script>

</body>

firebase-messaging-sw.js: 火力点的消息,sw.js:

importScripts('https://www.gstatic.com/firebasejs/6.3.3/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/6.3.3/firebase-messaging.js');

firebase.initializeApp({
    'messagingSenderId': '123456654321'
});

Help fix the error! 帮助解决错误! Thank! 谢谢!

firebase-messaging-sw.js is service worker JavaScript file. firebase-messaging-sw.js是服务程序JavaScript文件。

So you should not load JavaScript file using <script src="firebase-messaging-sw.js"></script> . 因此,您不应使用<script src="firebase-messaging-sw.js"></script>加载JavaScript文件。

Remove <script src="firebase-messaging-sw.js"></script> and try the following code. 删除<script src="firebase-messaging-sw.js"></script>并尝试以下代码。

    <script>
      if ('serviceWorker' in navigator) {
        window.addEventListener('load', () => {
          navigator.serviceWorker.register('/firebase-messaging-sw.js');
        });
      }
    </script>

See https://developers.google.com/web/fundamentals/primers/service-workers/#register_a_service_worker 请参阅https://developers.google.com/web/fundamentals/primers/service-workers/#register_a_service_worker

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM