te')); return $arr; } /* 遍历用户所有主题 * @param $uid 用户ID * @param int $page 页数 * @param int $pagesize 每页记录条数 * @param bool $desc 排序方式 TRUE降序 FALSE升序 * @param string $key 返回的数组用那一列的值作为 key * @param array $col 查询哪些列 */ function thread_tid_find_by_uid($uid, $page = 1, $pagesize = 1000, $desc = TRUE, $key = 'tid', $col = array()) { if (empty($uid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('uid' => $uid), array('tid' => $orderby), $page, $pagesize, $key, $col); return $arr; } // 遍历栏目下tid 支持数组 $fid = array(1,2,3) function thread_tid_find_by_fid($fid, $page = 1, $pagesize = 1000, $desc = TRUE) { if (empty($fid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('fid' => $fid), array('tid' => $orderby), $page, $pagesize, 'tid', array('tid', 'verify_date')); return $arr; } function thread_tid_delete($tid) { if (empty($tid)) return FALSE; $r = thread_tid__delete(array('tid' => $tid)); return $r; } function thread_tid_count() { $n = thread_tid__count(); return $n; } // 统计用户主题数 大数量下严谨使用非主键统计 function thread_uid_count($uid) { $n = thread_tid__count(array('uid' => $uid)); return $n; } // 统计栏目主题数 大数量下严谨使用非主键统计 function thread_fid_count($fid) { $n = thread_tid__count(array('fid' => $fid)); return $n; } ?>javascript - Firebase messaging importScripts is not defined - Stack Overflow
最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Firebase messaging importScripts is not defined - Stack Overflow

programmeradmin4浏览0评论

I write a WEB application on the platform Firebase

I have a file "firebase-messaging-sw.js", and when I access the file from home.html page, I get an error:

importScripts is not

File "firebase-messaging-sw.js" is at the root level.

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=".3.3/firebase-app.js"></script>
    <script src=".3.3/firebase-auth.js"></script>
    <script src=".3.3/firebase-firestore.js"></script>
    <script src=".3.3/firebase-storage.js"></script>
    <script src=".3.3/firebase-messaging.js"></script>
    <script src=".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:

importScripts('.3.3/firebase-app.js');
importScripts('.3.3/firebase-messaging.js');

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

Help fix the error! Thank!

I write a WEB application on the platform Firebase

I have a file "firebase-messaging-sw.js", and when I access the file from home.html page, I get an error:

importScripts is not

File "firebase-messaging-sw.js" is at the root level.

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./firebasejs/6.3.3/firebase-app.js"></script>
    <script src="https://www.gstatic./firebasejs/6.3.3/firebase-auth.js"></script>
    <script src="https://www.gstatic./firebasejs/6.3.3/firebase-firestore.js"></script>
    <script src="https://www.gstatic./firebasejs/6.3.3/firebase-storage.js"></script>
    <script src="https://www.gstatic./firebasejs/6.3.3/firebase-messaging.js"></script>
    <script src="https://www.gstatic./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:

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

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

Help fix the error! Thank!

Share Improve this question asked Sep 16, 2019 at 18:30 Yury MatatovYury Matatov 8454 gold badges11 silver badges24 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 16

firebase-messaging-sw.js is service worker JavaScript file.

So you should not load JavaScript file using <script src="firebase-messaging-sw.js"></script>.

Remove <script src="firebase-messaging-sw.js"></script> and try the following code.

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

See https://developers.google./web/fundamentals/primers/service-workers/#register_a_service_worker

发布评论

评论列表(0)

  1. 暂无评论