我正在寻找一种确定Google Chrome扩展程序中给定标签的打开器(父标签)的方法。

我看过Tab的文档,但似乎没有任何东西可以产生此信息。 http://code.google.com/chrome/extensions/tabs.html

我尝试将内容脚本注入页面中(认为我可以将值传递给我的背景页面):

alert(window.opener);


..但它只会产生null。

到目前为止,我想出的最好的办法是跟踪当前关注的选项卡,并且每当创建一个新选项卡时,只要假设关注的选项卡是新选项卡的打开器/父项即可。我相信这实际上可以在大多数时间正确地识别父选项卡,因为背景选项卡很少(允许)打开新页面。但是,这似乎很繁琐,而且有时可能不准确-例如,如果另一个扩展程序打开了新标签页,则此方法可能会误认为新标签页的打开器。

最佳答案

更新:现在可以使用新添加的webNavigation API(特别是通过钩挂onCreatedNavigationTarget事件)可靠地在Chrome扩展程序中可靠地确定选项卡的打开器选项卡。

https://code.google.com/chrome/extensions/trunk/webNavigation.html

07-24 09:43
查看更多