我正在尝试在 iframe 中初始化一个 service worker。我知道 Service Worker 在起源方面有安全限制,但据我所知,设置base应该可以解决这个问题。
<html>
<base href="http://127.0.0.1:9090">
<script>
if ('serviceWorker' in navigator) {
window.addEventListener('load', function() {
navigator.serviceWorker.register('/sw.js').then(function(reg) {
if(reg.installing) {
console.log('Service worker installing');
} else if(reg.waiting) {
console.log('Service worker installed');
} else if(reg.active) {
console.log('Service worker active');
console.log(self)
}
}).catch(function(error) {
// registration failed
console.log('Registration failed with ' + error);
});
});
}
</script>
错误: Registration failed with InvalidStateError: Failed to register a ServiceWorker: The document is in an invalid state.
如果我修改 base,它会抱怨起源不一样,所以 service worker 与 base href 有一定的联系。我在这里缺少什么?
30秒到达战场
手掌心
相关分类