2014-05-02 55 views
1

在後臺頁面JS(持久性)中跟蹤currentSelected TabId的場景。 但如果如何在窗口間切換時知道已經打開的標籤

  1. 我對「window_1」它有選擇「tab_w_1」(即currentTabId =「tab_w_1」)
  2. 然後從內頁「tab_w_1」我點擊它會打開另一個窗口中的鏈接「window_2 「
  3. 現在這意味着'從‘window_2 tab_w_2’被選擇(即currentTabId =‘tab_w_2’)
  4. 現在,如果我只是回到‘window_1’(這將是完全相同的狀態,我們把它放在即顯示'tab_w_1')
  5. 我應該能夠找出'tab_w_1'是從window_1中選擇的
  6. 但tabId當前的選擇仍然說是選擇了「tab_w_2」,這是錯誤的:(

我跟蹤使用chrome.tabs.onUpdated, chrome.tabs.onActivated當前所選選項卡。但在第4步中,這些事件不會被調用。

有多種方式可以在多個窗口之間切換時獲取當前選定的選項卡嗎?

回答

2

您可以檢測到第4步與事件chrome.windows.onFocusChanged

chrome.windows.onFocusChanged.addListener(function(integer windowId) { 
    if(windowId !== chrome.windows.WINDOW_ID_NONE) 
     chrome.tabs.query({active: true, windowId: windowId}, function(tabs) { 
      currentSelected = tabs[0].id; 
     }); 
}); 
+0

謝謝。這正是我所期待的。 – lucky

相關問題