十字起源iframe中的Sorviceworker



我想在域a的页面上的iframe中从域B加载一个小插件。来自域B的插件使用服务工作者来获得最佳性能。

但是,由于在iframe中加载映像时没有服务工作者对象,因此无法安装SW。是否不支持?(如果是这样,原因可能是什么?(

if('serviceWorker' in navigator){
let registration = await navigator.serviceWorker.register(uri)
registration.update()
}else{
console.log('sw iframe not installed')
console.log(navigator)
}
}

通过大量的尝试和调试,我找到了答案:

  • 源站点A通过http托管
  • 来自域B的插件(显然(是通过https

如果父级是http,则serviceworker似乎在iframed https站点中被阻止。

如果有人知道这背后的原因,请告诉我(我没看到(

相关内容

  • 没有找到相关文章

最新更新