Chrome标签扩展程序:getCurrent与getSelected?

gra*_*tur 5 google-chrome-extension

我正在写一个Chrome扩展程序.作为扩展的一部分,我想获取调用扩展名的选项卡的URL.使用之间有什么区别:

chrome.tabs.getSelected(null, function(tab) { var myTabUrl = tab.url; });
Run Code Online (Sandbox Code Playgroud)

chrome.tabs.getCurrent(function(tab) { var myTabUrl = tab.url; });
Run Code Online (Sandbox Code Playgroud)

wei*_*lou 20

方法chrome.tabs.getSelected已被弃用.你应该chrome.tabs.query现在使用.

您找不到过时方法的官方文档chrome.tabs.getSelected.这是方法的文档chrome.tabs.query.


ser*_*erg 15

getCurrent应该是您需要的,getSelected是当前在浏览器中选择的选项卡.当它们可能不同时 - 也许您的扩展程序在选项卡中运行一些背景cronjob,因此用户当前可能无法选择该选项卡.

好吧,我明显地弄错了.getCurrent应仅在扩展程序自己的页面中使用,这些页面具有与之关联的选项卡(例如options.html),您不能在后台或弹出页面中使用它.getSelected是当前在浏览器中选择的选项卡.

至于你原来的问题 - 你可能不需要那两个.如果要将内容脚本中的请求发送到后台页面,则发出此请求的选项卡将作为sender参数传递.

  • 现在过时的答案,见下文 (3认同)