3 回答
TA贡献1860条经验 获得超8个赞
更新: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
TA贡献1890条经验 获得超9个赞
一位朋友回答了我的问题。
首先,您必须设置标签API的权限:
"permissions": [
"tabs"
]
并存储URL:
chrome.tabs.getSelected(null,function(tab) {
var tablink = tab.url;
});
TA贡献1797条经验 获得超6个赞
其他答案假定您想从弹出脚本或后台脚本中了解它。
如果您想从内容脚本中了解当前URL ,则可以使用标准的JS方式:
window.location.toString()
您可以使用的属性window.location来访问URL的各个部分,例如主机,协议或路径。
- 3 回答
- 0 关注
- 4154 浏览
添加回答
举报