Chrome浏览器历史记录获取引用URL(JS)

8

我想编写一个Chrome扩展程序,不仅列出历史记录中访问的URL,还包括引用的URL。例如,如果我从Google点击了维基百科,则应显示“维基百科:由Google引用”。

我的初始尝试是获取有关特定URL的HistoryItem,提取其最近的VisitItem,然后使用referringVisitId来跟踪初始URL,但我卡在这里了。我的问题在于不理解referringVisitId的含义。它是打开新页面的历史项的ID还是由URL单击启动的VisitItem的ID?文档说明它是“引荐者的访问ID”,但这仍然让我感到困惑。

1)referringVisitId的含义是什么?

2)我可以使用referringVisitId来跟踪引用的URL吗?如果可以,应该如何操作?

感谢您抽出时间阅读!


如果您只需要引用URL,请使用 document.referrer - tckmn
@Doorknob 如果原始协议是https,目标协议是http,或者被点击的链接设置了rel="noreferrer"属性,那么这种方法就不起作用。 - Rob W
这可以用来获取访问者当前所在页面的引荐URL,但如果我想解析整个历史记录,是否可能使用它? - Sergiy
1个回答

3
  1. referringVisitId 似乎是导致当前 VisitItem 的 VistItem 的 ID。

  2. 看起来不可能仅使用其ID查询 VisitItem。或尝试获取 VisitItem 所属的 HistoryItem。

下一个最好的方法是尝试同时使用 onCreatedonUpdated 事件来尝试跟踪用户最后浏览的标签页。

但这也有其缺陷,如果在您正在另一个标签页中时使用 window.open 打开新标签页,则会得到错误的引荐者。除非您尝试拦截所有对 window.open 的调用。

简而言之:很难获取打开当前标签页的标签页。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接