gpt4 book ai didi

google-chrome - 如何从 Google Chrome 扩展程序获取当前选项卡的 URL?

转载 作者:行者123 更新时间:2023-12-03 04:17:14 25 4
gpt4 key购买 nike

我正在使用 Google Chrome 扩展程序,我只是想知道如何将当前选项卡的 URL 存储在变量中?

最佳答案

像这样使用chrome.tabs.query():

chrome.tabs.query({active: true, lastFocusedWindow: true}, tabs => {
let url = tabs[0].url;
// use `url` here inside the callback because it's asynchronous!
});

您需要在 extension manifest 中请求 tabsactiveTab 权限:

"permissions": [ ...
"tabs"
]

"permissions": [ ...
"activeTab"
]

如果您的代码在用户显式调用扩展程序(单击其图标或其上下文菜单项或按下其 chrome.commands)后使用 chrome.tabs.query,则首选 activeTab热键),因为此权限在安装扩展程序时不会添加任何警告,不像 tabs 添加读取您的浏览历史记录,这可能会吓到一些用户。

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

当您想要访问用户聚焦窗口(通常是最上面的窗口)中的当前选项卡时,在查询中设置 lastFocusedWindow: true 是合适的。

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

在此示例中,我选择使用 lastFocusedWindow: true,因为 Google 会指出 currentWindow may not always be present 的情况。 .

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

关于google-chrome - 如何从 Google Chrome 扩展程序获取当前选项卡的 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1979583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com