我有一個Chrome擴展,當我在一個選項卡中使用它時,它完美地工作。然後我去另一個標籤,擴展仍然有效,但這是我無法理解的奇怪的事情。當我回到第一個標籤時,我點擊瀏覽器動作來顯示擴展名或關閉(如果我將其打開),則什麼都不會發生。我需要再次點擊瀏覽器動作,然後擴展才能開始工作。在瀏覽器的操作按鈕被定義我background.js的Chrome瀏覽器擴展瀏覽器操作在切換選項卡時會變得很奇怪
部分:
chrome.browserAction.onClicked.addListener(function (tab) {
if (page_loaded == true) {
chrome.tabs.query({ active: true, currentWindow: true, highlighted: true }, function (tabs) {
chrome.tabs.sendMessage(tabs[0].id, { greeting: "browser_action_clicked" }, function (response) {
if (response.found == 'N') {
chrome.tabs.executeScript(null, { file: "src/injection.js" }, function() {
chrome.tabs.executeScript(null, { file: "src/extension.js" }, function() {
chrome.tabs.executeScript(tab.id, { code: "$('.cheap-watcher').animate({ 'right': '0px' }, 'slow');" }, function() {
sidebarActive = true;
});
});
});
}
else {
if (sidebarActive == true) {
chrome.tabs.executeScript(tab.id, { code: "$('.cheap-watcher').animate({ 'right': '-370px' }, 'slow');" }, function() {
sidebarActive = false;
});
}
else {
chrome.tabs.executeScript(tab.id, { code: "$('.cheap-watcher').animate({ 'right': '0px' }, 'slow');" }, function() {
sidebarActive = true;
});
}
}
});
});
}
});
難道我寫的東西錯了嗎?還是鉻錯誤?
_「其餘的功能在這裏是非語言的_」或者你這麼想。 – Xan
注意:你不必查詢活動標籤,你已經從'onClicked'事件中獲得了它。 – Xan
你的'page_loaded'如何改變?還有 - 你是否嘗試過[調試](https://www.youtube.com/watch?v=IP0nMv_NI1s)? – Xan