如何解决在浏览器扩展中实施网络工作者-捕获的ReferenceError:未定义importScripts
我正在尝试在我的Vue Web扩展中实施Web Worker。为了开始执行代码,我已经编写了以下几行代码,但是我从扩展名Uncaught ReferenceError: importScripts is not defined
或其他错误Uncaught ReferenceError: browser is not defined
中得到了这个错误,第二个错误是由worker.js文件引起的。我需要使用在vue配置文件的import
字段中声明的externals
无法使用的脚本,并且在扩展名中通常可以正常工作,这就是为什么我使用{{ 1}}。
由于我需要一个工作流程,用户单击按钮后才能启动Web Worker,因此我使用消息传递系统告诉后台脚本启动Web Worker,下面是代码
manifest.json
importScripts()
background.js
{
"manifest_version": 2,"name": "__MSG_extName__","description": "__MSG_extDescription__","default_locale": "en","permissions": [
"https://*","tabs","activeTab","webRequest"
],"icons": {
"16": "icons/16.png","48": "icons/48.png","128": "icons/128.png"
},"background": {
"scripts": [
"js/worker.js","js/background.js"
],"persistent": true
},"page_action": {}
}
worker.js
browser.runtime.onMessage.addListener( (message) => {
if( message.status === 'startDownload' ){
const worker = new Worker(browser.runtime.getURL('js/worker.js'))
console.log(worker)
worker.postMessage(['hello'])
}
})
popup.js文件
importScripts(browser.runtime.getURL('./assets/m3u8.js'))
onmessage = (msg) => {
console.log('message from background script!',msg)
}
代码有什么问题,如何使事情正常?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。