假設我想在Google Chrome瀏覽器擴展程序的彈出頁面中單擊按鈕時運行內容腳本?將彈出消息發送到內容腳本?
我曾嘗試以下:
//popup.js
document.addEventListener('DOMContentLoaded', function() {
document.querySelector('button').addEventListener('click', clicked);
main();
});
function clicked(){
chrome.tabs.getCurrent(
function(tab){
console.log(tab);
chrome.tabs.sendMessage(tab.id, "doSomething");
}
);
}
而且在內容腳本:
chrome.extension.onMessage.addListener(
function(message, sender, sendResponse){
console.log("hello world");
}
);
的問題是,在回調tab
從chrome.tabs.getCurrent()
是不確定的。
tabs.query返回一個數組。應該提到這種狀態是可選的。 ''windowId「:chrome.windows.WINDOW_ID_CURRENT'可以替換爲''currentWindow:true'看起來有點整潔。也許是一個tabs.getCurrent的鏈接,這樣他們可以重新讀取文檔,很多人都會遇到這樣的錯誤。 ..我確實做了很多次;) – PAEz
@PAEz:我很感謝它使它完美..謝謝.. – Sudarshan