gpt4 book ai didi

javascript - Chrome executeScript 函数不起作用

转载 作者:行者123 更新时间:2023-11-29 18:22:17 25 4
gpt4 key购买 nike

所以我有一个正在编写的扩展程序,我试图在用户单击 pageAction 图标时执行脚本。单击图标时,该方法调用 chrome.tabs.executeScript(...)。问题是 chrome.tabs.executeScript 函数没有执行,我不知道为什么。我知道我正在访问调用 executeScript 的代码,因为那里出现了一个警报。这是我的一些代码:

list .json

{
"manifest_version": 2,
"name": "name here",
"description": "description here",
"version": "0.1",
"permissions": [
"<all_urls>",
"tabs"
],
"icons": {
"16" : "images/icon16.png",
"48" : "images/icon48.png",
"128": "images/icon128.png"
},
"background": {
"scripts": ["js/check.js"]
},
"page_action": {
"default_icon": {
"19": "images/icon19.png",
"38": "images/icon38.png"
},
"default_title": "default title here"
}
}

js/check.js

chrome.tabs.onUpdated.addListener(checkForValidUrl);

function checkForValidUrl(tabId, changeInfo, tab) {
if (tab.url.indexOf('g') > -1) {
chrome.pageAction.show(tabId);
}
};

chrome.pageAction.onClicked.addListener(function(tab) {
alert("hello world"); //this code is executed...

//...this code is not
chrome.tabs.executeScript(tab.id, {file: "save.js"}, function() {
if(chrome.runtime.lastError) {
console.error(chrome.runtime.lastError.message);
}
});
});

js/save.js

alert("hello world");

就像我在代码中所说的那样,我的 pageAction onClick 函数中的 hello world 有效。 executeScript 方法没有。任何关于正在发生的事情的想法都会有所帮助。

最佳答案

在我的代码中弄乱了许多不同的东西之后,我找到了解决我的问题的方法。错误似乎出现在 {file: "save.js"} 行中。当它寻找 save.js 时,它显然是在我的 manifest.json 文件所在的顶级目录中查找,而不是在我的代码所在的目录中。我必须将我的代码更改为 {file: "js/save.js"} 才能找到我的 save.js 文件。

关于javascript - Chrome executeScript 函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17288204/

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