2013-07-24 95 views

回答

4

這似乎不是API的一個顯而易見的功能。我建議你在http://crbug.com處打開一個錯誤。

如果做不到這一點,你可以執行以下討厭的黑客(我沒有測試):

  1. 有你的新標籤頁將消息發送到你的背景頁面時,它加載。

  2. 傾聽與chrome://newtab處理chrome.webNavigation.onBeforeNavigate事件:

    chrome.webNavigation.onBeforeNavigate.addListener(function(details) { 
        /* send message */ 
    }, { url: [{ urlEquals: 'chrome://newtab/' }] }); 
    
  3. webNavigation看到瀏覽器加載chrome://newtab但你沒有看到一個消息,你的背景頁面不久之後,您的新標籤頁可能是沒有被使用。從那裏,你可以發送通知,或打開另一個標籤/窗口並附帶通知。

不幸的是,這需要webNavigation許可,如果您的分機沒有,否則需要它這是不幸的。它帶來的警告(「此擴展程序可以訪問您的標籤頁和瀏覽活動」)可能會嚇跑一些潛在的用戶,特別是如果沒有理由讓用戶明白這一點。 (然後,也許我對用戶的安全認真性過於樂觀。)如果您的擴展程序目前使用了API,那麼它已經帶有這個通知。

+2

['chrome.webNavigation'](https://developer.chrome.com/extensions/webNavigation.html)API將比'tabs' API更合適。這個API允許你聲明過濾器,例如'chrome.webNavigation.onBeforeNavigate.addListener(function(details){/ * do something * /},{url:[{urlEquals:'chrome:// newtab /'}]});' –