【问题标题】:Chrome.History get referring URL (JS)Chrome.History 获取引用 URL (JS)
【发布时间】:2025-12-15 16:00:02
【问题描述】:

我想编写一个 chrome 扩展,它不仅列出历史中访问过的 URL,还列出引用 URL。例如,如果我点击 Google 的 Wikipedia,它应该显示“Wikipedia:由 Google 引用”。

我最初的尝试是为有问题的 URL 获取一个 HistoryItem,提取其最近的 VisitItem,然后使用 ReferringVisitId 追踪初始 URL,但这就是我卡住的地方。我的问题归结为不理解referringVisitId 的含义。是打开新页面的历史条目的ID吗?是URL点击发起的VisitItem的ID吗?文档指出它是“推荐人的访问 ID”,但这仍然让我感到困惑。

1)referringVisitId是什么意思?

2) 我可以使用 ReferringVisitId 来追踪引用 URL 吗?如果有,怎么做?

感谢您的宝贵时间!

【问题讨论】:

  • 如果您只需要引用 URL,请使用 document.referrer
  • @Doorknob 如果源协议是 https 而目标协议是 http,或者如果被点击的链接设置了 rel="noreferrer" 属性,则这不起作用。
  • 这可以获取访问者当前所在页面的引用 URL,但是如果我试图解析整个历史记录,是否可以使用它?

标签: javascript google-chrome-extension browser-history


【解决方案1】:
  1. referringVisitId 似乎是导致当前访问项的访问项的 ID。

  2. 似乎无法仅使用其 ID 来查询 VisitItem。或者尝试获取VisitItem所属的HistoryItem。

接下来最好的办法是尝试同时使用onCreatedonUpdated 事件来尝试跟踪用户所在的最后一个标签。

不过,这也有它的缺陷,如果您在另一个选项卡中使用window.open 打开一个新选项卡,您会得到错误的推荐人。除非你试图拦截所有对window.open 的调用。

TL;DR:获取打开当前标签的标签并不容易。

【讨论】: