gpt4 book ai didi

google-chrome-extension - 执行脚本方法

转载 作者:行者123 更新时间:2023-12-04 03:01:20 24 4
gpt4 key购买 nike

基本上,我正在尝试按照 Google 文档做一些 chrome 扩展。每次单击扩展按钮时,我都想注入(inject)一个脚本。
到目前为止,这是我的 list :

    {
"name": "Example",
"manifest_version": 2,
"version": "1.0",
"permissions": [
"tabs"
],
"description": "My Chrome extension.",
"browser_action": {
"default_icon": "icon.png"
},
"background": {
"scripts": ["background.js"]
}
}

这是我的 background.js:
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(tab.id, {code: "content_script.js"});
});

问题是 content_script 没有被触发,即使尝试使用如此简单的 alert("aaa");
你能告诉我我做错了什么吗?我想不通。

最佳答案

为了在页面上执行内容脚本,您必须在 list 文件中请求正确的主机权限。

由于您想在单击浏览器操作按钮时插入内容脚本,因此请求 activeTab permission 就足够了。 .此外,您可以删除 tabs许可,减少permission warnings的数量归零!

{
"name": "Example",
"manifest_version": 2,
"version": "1.0",
"permissions": [
"activeTab"
],
"browser_action": {
"default_icon": "icon.png"
},
"background": {
"scripts": ["background.js"]
}
}

( activeTab 权限为 introduced in Chrome 26 。如果您需要支持 Chrome 25 及更早版本,请在 list 文件中添加 *://*/*<all_urls> 权限)。

注意:如果添加回调到 chrome.tabs.executeScript ,您会在 chrome.runtime.lastError.message 中收到有用的错误消息:

Cannot access contents of url "http....." Extension manifest must request permission to access this host.


chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(tab.id, {
file: "content_script.js"
}, function() {
if (chrome.runtime.lastError) {
console.error(chrome.runtime.lastError.message);
}
});
});

关于google-chrome-extension - 执行脚本方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17011733/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com