kin*_*234 1 google-chrome google-chrome-extension
我正在尝试构建一个简单的扩展,但在 background.js 行上收到“服务工作人员注册失败”错误。我阅读了一些其他帖子,使用包装器文件加载 background.js,但我使用的是 chrome 版本 105,不需要使用包装器修复。
清单.杰森:
{
"name": "Test",
"description" : "Test",
"version": "1.0",
"manifest_version": 3,
"background": {
"service_worker": "background.js"
}
}
Run Code Online (Sandbox Code Playgroud)
背景.js:
chrome.action.onClicked.addListener(tab => {
chrome.tabs.update({url: 'http://example.com'});
});
Run Code Online (Sandbox Code Playgroud)
如果您点击Errorschrome://extensions 页面,您将看到:
Uncaught TypeError: Cannot read properties of undefined (reading 'onClicked')
Run Code Online (Sandbox Code Playgroud)
点击它,你会看到来源:
Uncaught TypeError: Cannot read properties of undefined (reading 'onClicked')
Run Code Online (Sandbox Code Playgroud)
这意味着chrome.action未定义。
chrome仅当您的扩展程序的 manifest.json 在特殊键中或在特殊键中列出了其关联的权限名称时,才会出现内部的许多 API "permissions"- 这在 API 的官方文档页面的开头有所指示。
添加"action": {}到manifest.json。
您还可以在其中指定标题和图标,请参阅文档,但要小心default_popup- 当指定时它会禁用 onClicked 侦听器,即如果您想使用 default_popup 在此标准弹出窗口中显示 html,您需要移动您的内部onClicked 侦听器从 background.js 到 popup.html 的 popup.js 脚本的开头,该侦听器将在每次显示弹出窗口时运行。在你的情况下是chrome.tabs.update({url: 'http://example.com'});
| 归档时间: |
|
| 查看次数: |
3548 次 |
| 最近记录: |