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 badges1 Answer
Reset to default 16firebase-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