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

2024-01-10

我很喜欢 Google Chrome 扩展,我只想知道如何将当前选项卡的 URL 存储在变量中?


Use 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!
});

您需要请求tabs or activeTab您的许可扩展清单 https://developer.chrome.com/extensions/manifest:

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

or

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

Prefer activeTab如果您的代码在用户显式调用扩展程序(单击其图标或其上下文菜单项或按下其chrome.commands热键),因为此权限在安装扩展时不会添加任何警告,这与tabs这增加了Read your browsing history这可能会吓到一些用户。

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

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

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

我选择使用lastFocusedWindow: true在此示例中,因为 Google 指出了以下情况currentWindow 可能并不总是存在 https://developer.chrome.com/extensions/windows#current-window.

您可以使用此处定义的任何属性进一步优化选项卡查询:chrome.tabs.query https://developer.chrome.com/extensions/tabs#method-query

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 Google Chrome 扩展程序获取当前选项卡的 URL? 的相关文章

  • 在 Chrome 上使用 html5 显示垂直视频

    我正在构建一个简单的page http jsfiddle net JVZGZ 使用 html5 视频标签显示从我的 iPhone 上传的视频 如果您使用 chrome 观看它 您可能会看到该视频是水平呈现的 尽管它不是水平呈现的 尝试下载它
  • 如何使用开发者工具查找 Chrome 中的按钮或元素运行的代码

    我正在使用 Chrome 和我自己的网站 我从内部了解到的情况 1 我有一个表格 人们可以通过单击这个橙色图像按钮进行注册 2 我检查了它 这就是全部 img class formSend src images botoninscribir
  • Selenium 打开未登录 Chrome 帐户的 chrome

    我最近一直在使用 Selenium WebDriver 我还专门使用 chromedriver 每当我打开一个新的 chrome 窗口 driver get url 时 Chrome 都会以完全默认的状态启动 而不是我刚刚从我的扩展坞打开一
  • 背景大小:封面在 Google Chrome 中突然停止工作?

    还有其他人有这个问题吗 我以创建网站为生 有些网站使用了 css 属性background size cover 大约 1 周前突然间 所有具有此属性的网站都不再在 Google Chrome 中正确显示 所有其他浏览器都工作正常 还有其他
  • 在 Chrome 18 中检测 SwiftShader WebGL 渲染器

    我有一个 2D HTML5 游戏引擎 www scirra com http www scirra com 并且确实想检测 WebGL 是否将使用 Chrome 18 的 Swiftshader 软件渲染器进行渲染 如果是这样我们会much
  • 添加文件://. chrome 扩展程序的权限

    如何使用 Chrome 扩展启用 file 的权限 在我的manifest json中我尝试过 permissions file and permissions file 也 permissions C 这些都不起作用 permission
  • 如何读取COM端口? navigator.serial.getPorts 返回空列表

    我连接了少量 USB 串行接口 一个 HF 收发器 基于 Arduino 的 CW 键控器 和两个蓝牙端口 我从未使用过它们 并且不确定它们来自哪里 可能是某些应用程序 在我的 SPA 中 我需要阅读端口列表 以便能够选择连接哪个端口作为哪
  • Html 视频播放器播放声音但不播放视频

    我正在制作网页 并尝试插入视频 视频播放器加载正常 您可以按播放 但只播放音频 而不播放视频 在 Chrome 中预览时 在 firefox 中查看时可以正常工作 我的代码如下
  • Chrome 打包应用程序 - 在后台/事件页面中使用 AngularJS

    当我们创建 Chrome 应用程序时 我们将脚本放在背景属性中清单 json file 这将用作应用程序的背景 事件页面 我想要的是 我想使用 AngularJS后台脚本但我不知道怎么办 还有 这可能吗 我刚看到一些答案 https sta
  • getElementById 无法在 的 Google Chrome 扩展中工作

    在我的 Google Chrome 扩展内容脚本中 我有以下内容 jQuery document ready function var player document getElementById player console log pl
  • 在 Chrome 扩展中使用页面的 Angular JS

    我有一个 HTML 页面 其中有一些使用 Angular 配置的 DOM 现在我正在构建一个 chrome 扩展来修改文本框中的值 element value newValue不起作用 因为文本框是用 Angular 设计的 在阅读了一些资
  • 更新存储在 chrome 扩展本地存储中的对象

    我正在开发一个 chrome 扩展 我将存储服务器发送的对象 例如 我将收到 命令 id 1 类型 A 大小 B 优先级 C 如果我有一个数据库 我会将其作为表中的一行插入commands 使用 chrome storage 我将这些对象的
  • Chrome 19 无法识别字体粗细:较轻

    我刚刚启动了一个正在开发的项目以进行一些修改 并注意到该声明font weight lighter正在通过以下方式提供服务 font face并且它不再在网站上运行 参见图片 顶部镀铬 底部 ff 自昨晚以来 我的系统 Windows 上没
  • 如何从上下文菜单中显示模式弹出窗口?

    如何从上下文菜单中显示模式对话框 我可以从上下文菜单中显示一个新窗口 该窗口在自己的选项卡中打开 var menuItem id rateMenu title Rate Item contexts all chrome contextMen
  • Chrome 扩展 - 访问 iframe 元素

    我正在附加一个iframe到页面使用content script with src set to chrome extension getURL myPage 稍后在某些事件中 我想从框架中检索一些元素 我尝试了以下代码content sc
  • Chrome 通知/权限栏 - 检测是否可见

    当 Flash 请求访问相机或麦克风时 Chrome 会显示以下通知栏 有没有 JavaScript 或 AS3 方法可以检测它是否可见 我知道你问这个问题已经很长时间了 但我们终于找到了一个我想分享的解决方法 ActionScript C
  • 浏览器会自动插入哪些 DOM 元素?

    我正在生成 XPaths 服务器端以供客户端使用 我很困惑为什么only表路径 即内容在td 在 DOM 中找不到 事实证明 现代浏览器 至少 Chrome 和 Firefox 插入了tbody文档加载时在表格行周围添加标签 看为什么浏览器
  • selenium.common.exceptions.WebDriverException:消息:服务

    当我使用 selenium 控制 Chrome 时遇到了麻烦 这是我的代码 from selenium import webdriver driver webdriver Chrome When i tried to operate it
  • 使用 Javascript 检测 Pepper (PPAPI) Flash

    我们使用的是专有的文档查看器 它与某些 Chrome 版本中的 Pepper 版本的 Flash 配合得不太好 所以我希望能够检测到它并重定向到不同格式的相同内容 由于这个版本似乎落后于 NPAPI 版本 所以我一直在使用闪光检测 http
  • 浏览器正在加载两张图像 - 一张用于 srcset,一张用于 src(Chrome 41 等)

    我正在开发的网页上使用 srcset 属性 img src img picture 820x496 jpg 如果我检查页面加载了哪些资源 我会发现 Chrome 41 以及使用 polyfill 的 FF 以及 Safari 7 总是加载图

随机推荐

  • 从命令行自动运行 NUnit 测试

    我通过将测试项目设置为将 nunit 2 5 3 作为外部程序启动 从 Visual Studio 启动 NUnit gui 这会将测试加载到 GUI 中 但我仍然需要手动单击运行按钮 是否有一个命令行参数可以让测试在加载的同时运行 Spe
  • MongoDB 查找键等于数组中字符串的位置

    我试图在集合中查找给定键等于数组中的字符串之一的所有文档 这是该集合的一个示例 roomId room1 name first roomId room2 name second roomId room3 name third 这是要查看的数
  • 使用 wexpect 运行可执行文件

    我有一个可执行文件 evapo exe 必须使用输入文件 inputs prj 调用它 通常我使用Windows命令提示符 只需键入c myfiles evapo input prj 当然两个可执行文件和输入文件位于 myfiles 文件夹
  • 自动完成(如 facebook)已放弃重复值

    我在 jQuery 中使用自动完成功能 很像 Facebook 正如我在图片中提到的 我不希望自动完成中出现重复的值 看演示http wharsojo js googlecode com files jquery autocompletef
  • bootstrap 3 输入组 100% 宽度

    在 bootstrap 文档中 它们的输入组跨越 100 宽度 没有额外的标记 http getbootstrap com components input groups http getbootstrap com components i
  • boost::geometry::union 无结果

    我正在尝试使用 boost geometry union 合并一些多边形 但某些条目的输出向量为空 这是一个例子 include
  • 使用 GoogleOAuth2AuthenticationOptions 出现redirect_uri_mismatch 错误

    我正在尝试在 MVC 5 Web 应用程序中实现 Google 身份验证 身份验证工作正常 但我会检索个人资料和图片信息 为此 我添加了一个 GoogleOAuth2AuthenticationOptions 对象来指定其他声明 var g
  • 引用使用 TextBoxFor() 创建的控件的 ID

    I am lovingASP NET MVC 跟上发布 文档有时可能很棘手 所以也许我只是没有得到一些东西 我想使用 TextBoxFor 并且使用 LabelFor 等都很好 都可以奇迹发生在我身上 但如果我创造 想要用 jQuery 做
  • OCaml 中的这种模式匹配并不详尽

    我是 OCaml 新手 我编写了一些代码来获取列表的 n 元素 let rec n elem l n match n with 0 gt match l with h gt h gt failwith erorr with empty li
  • 从android中的Sqlite数据库获取日期

    在我的 Sqlite 数据库中 我将日期保存在数据类型 DATE 中 我怎样才能从光标获取这个日期 SQLite 使用 ISO8601 日期 时间格式存储表示 UTC GMT 当前时间的字符串 顺便说一下 这种格式 YYYY MM DD H
  • 平滑地动画 UISlider

    我想为 UISlider 制作动画 例如0 25 至 0 75 并返回 这应该向用户展示要做什么 我试过这个 self incrementCounter NSNumber numberWithInt 0 void incrementCoun
  • jquery $(window)中的滚动事件,找出位置差异

    我在用着 window scroll function e 我如何找出滚动的像素数 以及方向 如果是绝对数 Thanx 这是一种方法 jQuery function var lastScroll document body scrollTo
  • Python正则表达式灾难性回溯

    我正在搜索由 Ms word 生成的 XML 文件中的一些短语 问题是任何短语都可以用一些 XML 标签打断 这些标签可以位于单词之间 甚至单词内部 如示例中所示
  • AngularJS 重新编译动态 html 时删除旧的 $watchers

    我有一个 AngularJS 应用程序 用于动态构建页面 从服务器检索 XML 并通过读取 XML 构建页面或表单 对于 XML 我们必须构建几个页面 所有页面都彼此相关 并且可以通过 下一步 否定 上一个 按钮 为了实现我们有类似的东西
  • Android - 通知后删除接近警报

    我想做的是拥有一个接近警报服务 当您步入半径范围内时 不停止服务 该服务仅触发一次通知 每次您步入半径内和每次您走出半径时 我的代码都会触发通知 我一直在尝试使用布尔值和removeProximityAlert 但没有成功 有任何想法吗 i
  • 如何枚举 C# 中的所有托管线程?

    是否可以枚举 C 中的所有托管线程 当您在调试时遇到断点时 Visual Studio 似乎能够执行此操作 在 线程 窗口中 它显示所有正在运行的线程的列表 包括托管名称 有谁知道它是如何做到这一点的 调试器通常能够完成 正常 代码无法完成
  • SOAP 消息的最大大小是如何确定的?

    我在 PHP 5 2 6 上使用 NuSOAP 发现最大消息大小仅为 1000 字节 这使得执行任何有意义的操作变得困难 这是在端点的 WSDL 中设置的还是我可以在 NuSOAP 中配置的内容 关于 1000字节限制 的FUD 我查阅了n
  • 单一信号 - idsAvailable 已弃用

    OneSignal 的最新构建版本会生成类似 可用的 ids 已弃用 我怎样才能使用 playerID 获取权限订阅状态 而不是像我下面那样使用 idsAvailable OneSignal idsAvailable userId push
  • 在 ruby​​ on Rails 视图中生成基于列的表

    我需要一些帮助来动态生成基于列的表而不是基于行的表 假设我有一家医院 医院有很多病人 1号医院 Day 1 Day 2 Day 3 Patient 1 36 6 36 4 36 5 Patient 2 37 0 37 1 36 6 Pati
  • 如何从 Google Chrome 扩展程序获取当前选项卡的 URL?

    我很喜欢 Google Chrome 扩展 我只想知道如何将当前选项卡的 URL 存储在变量中 Use chrome tabs query 像这样 chrome tabs query active true lastFocusedWindo