为了账号安全,请及时绑定邮箱和手机立即绑定

如何从Google Chrome扩展程序获取当前标签的URL?

/ 猿问

如何从Google Chrome扩展程序获取当前标签的URL?

API
潇湘沐 2019-10-16 10:31:37

我在玩Google Chrome扩展程序,我只是想知道如何将当前标签的URL存储在变量中?



查看完整描述

3 回答

?
桃花长相依

更新:chrome.tabs.getSelected()现在不建议使用该方法。


建议使用获取当前选项卡URL的方法chrome.tabs.query()。


用法示例:


chrome.tabs.query({'active': true, 'lastFocusedWindow': true}, function (tabs) {

    var url = tabs[0].url;

});

这要求您chrome.tabs在扩展清单中请求访问API :


"permissions": [ ...

   "tabs"

]

重要的是要注意,“当前选项卡”的定义可能会根据扩展程序的需求而有所不同。


lastFocusedWindow: true当您要访问用户的焦点窗口(通常是最顶部的窗口)中的当前选项卡时,在查询中进行设置是合适的。


设置currentWindow: true允许您在扩展程序代码当前正在执行的窗口中获取当前选项卡。例如,如果您的扩展程序创建了一个新的窗口/弹出窗口(更改焦点),但仍想从运行该扩展程序的窗口访问选项卡信息,则这可能很有用。


我选择lastFocusedWindow: true在此示例中使用,因为Google会指出currentWindow 可能并不总是存在的情况。


您可以使用此处定义的任何属性来进一步优化选项卡查询:chrome.tabs.query


查看完整回答
反对 回复 2019-10-16
?
当年话下

一位朋友回答了我的问题。


首先,您必须设置标签API的权限:


"permissions": [

    "tabs"

]

并存储URL:


chrome.tabs.getSelected(null,function(tab) {

    var tablink = tab.url;

});


查看完整回答
反对 回复 2019-10-16
?
互换的青春

其他答案假定您想从弹出脚本或后台脚本中了解它。


如果您想从内容脚本中了解当前URL ,则可以使用标准的JS方式:


window.location.toString()

您可以使用的属性window.location来访问URL的各个部分,例如主机,协议或路径。


查看完整回答
反对 回复 2019-10-16

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信