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

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



潇湘沐
浏览 3959回答 3
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

当年话下

一位朋友回答了我的问题。首先,您必须设置标签API的权限:"permissions": [    "tabs"]并存储URL:chrome.tabs.getSelected(null,function(tab) {    var tablink = tab.url;});

互换的青春

其他答案假定您想从弹出脚本或后台脚本中了解它。如果您想从内容脚本中了解当前URL ,则可以使用标准的JS方式:window.location.toString()您可以使用的属性window.location来访问URL的各个部分,例如主机,协议或路径。
打开App,查看更多内容
随时随地看视频慕课网APP