gpt4 book ai didi

javascript - "window is not defined"服务人员

转载 作者:行者123 更新时间:2023-12-04 02:25:26 28 4
gpt4 key购买 nike

我正在尝试为我的 django 项目注册一个服务人员。这是我用于注册的代码:

<!-- register service worker -->
<script type="text/javascript">
if('serviceWorker' in navigator) {
window.addEventListener('load', function() {
navigator.serviceWorker.register("{% url 'sw.js' %}").then(function(registration) {
console.log("Service worker registered.");
console.log("Registered at: "+registration.scope);
});
});
}
</script>

这是我的 service_worker.js 中的代码:
// App install banner
window.addEventListener('beforeinstallprompt', function(e) {
e.userChoice.then(function(choiceResult) {
console.log(choiceResult.outcome);

if(choiceResult.outcome == 'dismissed') {
console.log('User cancelled home screen install');
} else {
console.log('User added to home screen');
}
});
});

我在控制台中看到此错误: Uncaught ReferenceError: window is not defined
如何解决这个问题?

最佳答案

我正在编写代码:

// App install banner
window.addEventListener('beforeinstallprompt', function(e) {
e.userChoice.then(function(choiceResult){
console.log(choiceResult.outcome);
if(choiceResult.outcome == 'dismissed'){
console.log('User cancelled home screen install');
}else{
console.log('User added to home screen');
}
});
});

在 service_worker.js 文件中。服务 worker 无权访问 window 等 DOM 元素或 document .一旦我将上述代码放在与 html 文件关联的单独 js 文件中,它就可以工作了。我是 PWA 和服务 worker 概念的新手,这似乎是一个新手错误。如果它对其他人有帮助,我将发布此答案。

关于javascript - "window is not defined"服务人员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49664665/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com