2012-07-15 113 views
0

我想做一些類似google郵件檢查器的事情:當用戶點擊圖標時 - 我們應該在新標籤頁中打開一些網址,但只有在帶有該網址的標籤頁沒有在標籤頁內打開的情況下。如何處理點擊擴展圖標?

請幫助我,如何輕鬆做到這一點。

謝謝!

回答

4
  1. 在清單
  2. 定義Browser action附加一個事件監聽器chrome.browserAction.onClicked
  3. 使用chrome.tabs.create方法打開一個新選項卡。您可以遍歷所有選項卡以檢查是否存在與chrome.windows.getAll的URL。
+0

我一直在努力做到這一點,但我不需要任何彈出。並改進問題:如何在沒有彈出窗口的情況下執行此操作..不幸的是,我無法做到這一點。 – ValeriiVasin 2012-07-16 07:53:27

+0

@InviS不要在清單文件中指定''default_popup「條目。 – 2012-07-16 09:08:26

+0

但設置的JavaScript?我試圖將其設置爲後臺腳本,但它不起作用......以及如何直接用\ @回答您?像@InviS – ValeriiVasin 2012-07-17 05:50:07

1

您可以使用此片段。它檢查包含URL(或可選匹配模式)的選項卡是否已打開。如果是這樣,該選項卡將集中並加載URL。如果不是這樣,新標籤打開:

function reuseTab(url, match) { 
    if (url) { 
     var match = match || url; 
     chrome.tabs.query({url : match}, function (foundTabs) { 
      if (foundTabs[0]) { 
       chrome.tabs.update(foundTabs[0].id, {active : true, url : url}); 
      } else { 
       chrome.tabs.create({url : url}); 
      } 
     }); 
    } 
} 

您可以在GitHub上看到使用的例子,並說明詳細的註釋:

https://github.com/fczbkk/chrome-extension-snippets/blob/master/js/reuse-tab.js