-1
Docs声称:Chrome扩展:Serviceworker跨源未能
通过添加主机或主机匹配图案(或两者)的清单文件的权限部分,延伸可以请求访问的外部的远程服务器它的起源
我≪ manifest.json的≫:
{"manifest_version":2,"name":"","version":"0","permissions":["http://example.org/"],"background":{"scripts":["asd"]}}
<ASD>:
navigator.serviceWorker.register('sdf.js',{scope:'http://example.org/'}).then(x=>console.log('done', x))
<sdf.js>:
addEventListener('fetch', e=> e.respondWith(new Response('url: '+e.request.url,{headers:{'content-type':'text/html'/*, etc*/}})))
予加载使用≪加载已解压的扩展≫代码;它坠毁没有任何错误信息:
显然代码"permissions":["http://example.org/"]
坠毁的扩展。
如何设置Chrome扩展跨源ServiceManager的权限?是否有必要的Chrome标志?
只是没有执行,我猜。尝试在运行站点URL的tab/iframe的内容脚本中执行此操作。 – wOxxOm
@wOxxOm,用[code here](https://jsfiddle.net/jd2qvtgp/)尝试,但是未被捕获(承诺)DOMException:无法注册ServiceWorker:提供的scriptURL的原点('chrome-extension: // pgmcjkmokcicmebpjlmblnhfnfgooghm')与当前原点('https://example.org')不匹配。任何其他策略? – Pacerier
如果您面临明显的崩溃,请[查看日志](https://www.chromium.org/for-testers/enable-logging)。 – Xan