从 Google Chrome 的地址栏中获取文本(不是 url)

Posted

技术标签:

【中文标题】从 Google Chrome 的地址栏中获取文本(不是 url)【英文标题】:Get text (not url) from address bar in Google Chrome 【发布时间】:2011-02-09 22:08:58 【问题描述】:

我想使用 javascript 检索用户在当前可见地址栏中键入的文本。这仅适用于谷歌浏览器。

这可能吗?我知道您可以通过 window.location.href 获取文档 URL,但我无法在地址栏/多功能栏中找到与当前代码有关的任何 javascript。

感谢您的帮助!

编辑:这是为了扩展。

【问题讨论】:

这不属于您正在运行 JS 的站点。授予对超出范围的方式内容的访问权限是没有意义的。接下来你想要访问用户的文件? 它不是一个站点,它是一个扩展。 【参考方案1】:

即使有扩展,这也是不可能的——至少在谷歌浏览器中是这样。

在当前的 Chromium 扩展平台下,插件只不过是具有轻微提升权限的 javascript 程序;最接近的对应关系是在 Firefox 中非常流行的 Greasemonkey 脚本。

作为一名扩展开发人员,我对这种情况非常不满,并期待它(不可避免的)变化和成长。

不幸的是,目前你的问题是完全不可能的。

【讨论】:

计划提供omnibar扩展支持,但还没有时间表。 这 5 年有什么变化吗?还是仍然如此? 10年有什么变化吗?【参考方案2】:

我相信这是不可能的。它可能在扩展中是可行的。

【讨论】:

【参考方案3】:

看来这将在未来被 chrome 扩展支持。

目前,根据您的需要,最接近的方法是在真实地址栏下方伪造第二个地址栏,对其进行样式设置,使其看起来像双地址栏。

这将通过一个 DOM 栏实现,类似于 StumbleUpon 的,有点像 Chrome 自己的信息栏。但是作为内容脚本的 JS,您可以完全控制它,正如我所说,根据您的需要,它可能是您用户的次优解决方案。

我能看到的与本机支持相比的唯一优势(当它出现时)是,如果您想将地址栏用于 url 以外的其他内容,那么您可以在虚假栏中执行此操作并仍然保留页面的用户可以随时在本机栏中访问的 url。

【讨论】:

以上是关于从 Google Chrome 的地址栏中获取文本(不是 url)的主要内容,如果未能解决你的问题,请参考以下文章

使用 Chrome 扩展程序在 Google Chrome 浏览器中访问搜索查询文本

使用 C# 从 Google Chrome 获取当前标签页的 URL

从 Chrome 下载栏中拖放文件上传

你在chrome浏览器地址栏中输入baidu.com回车后发生了什么

如何从 Google 版本地图中的拖动标记中获取格式化地址

google浏览器怎么安装本地插件