2012-03-26 149 views

回答

4

沒有設置打開鏈接作爲選項卡而不是窗口。您可以通過chrome.contentSettings API更改彈出窗口首選項。

所有要求的功能也可以間接啓用。一些想法:

  1. 新窗口,而不是選項卡。
    1. 通過chrome.tabs.onCreated檢測製表符的創建。
    2. 檢測窗口是否是從裏面另一個窗口打開:
      從以前的事件偵聽器使用tab.id屬性來獲取window對象,使用chrome.extension.getViews。然後,檢查window.opener屬性以確定鏈接是否從另一個選項卡打開。
      當鏈接設置了rel="noreferrer"屬性時,這可能不起作用。

      使用chrome.windows.create創建一個新窗口,通過tabId。該選項卡將從之前的窗口分離,並附加到新窗口。
  2. 您可以重寫window.open方法,它調用chrome.tabs.createchrome.windows.create創建一個新的彈出窗口。
    全局重寫可以通過使用chrome.tabs.onUpdatedstatus=="complete"檢測頁面加載,然後使用chrome.extension.getViews更改window.open方法來完成。確保您創建了window onject的緩存版本,以便在必要時仍可使用原始方法。

這些是必要的信息+文檔鏈接,可以幫助您創建所需的功能。祝你好運;)

+0

我不明白爲什麼Chrome不允許開發者更改用戶設置。事實上,這已經可以爲chrome.proxy完成,爲什麼不是所有其他設置? – Pacerier 2017-08-10 11:42:49

相關問題