2012-03-26 131 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

相关问题