所以,我有一個擴展我寫,我想,當用戶點擊該圖標pageAction執行腳本。當圖標被點擊時,該方法調用chrome.tabs.executeScript(...)。問題是,chrome.tabs.executeScript函數沒有執行,我不知道爲什麼。我知道我正在調用executeScript的代碼,因爲我在那裏出現了一個警告。下面是我的一些代碼:鉻executeScript功能不能正常工作
manifest.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世界有效。 executeScript方法不。任何關於發生的事情的想法都會有幫助。
此外,'console.error(...)'代碼'executeScript(...)'方法返回後應該火是永遠不會被調用,所以並沒有幫助我。 – mottese