编辑
当我阅读第一段时,这些问题实际上是关于Google Chrome 扩展程序并且没有为此标记的,我回答了使用 jQuery 的请求。以下是有关如何使用chrome.history
API 访问 Google Chrome 扩展程序中已访问页面的更多信息。
谷歌 chrome.history API
如果用户授予权限,您可以在 Google Chrome 扩展程序中访问所有访问过的链接。您必须在扩展清单中包含此代码:
"permissions": [
"history"
],
这将导致安装期间出现权限警告,通知用户您的扩展程序可能想要访问的信息。
最后,您现在可以使用search
- 方法来请求访问的页面。text
如果对象的属性query
为空,您甚至可以请求所有页面:
chrome.history.search(object query, function callback)
这将产生一个数组historyItems
,其中包含每个页面的大量信息,例如 URL、页面标题、上次访问时间……</p>
JavaScript
不幸的是,使用 CSS 和 JavaScript 的组合无法选择用户访问过的链接。这是由于隐私设置。它甚至写在CSS2 规范“5.11.2 The link pseudo-classes: :link and :visited”中
因此,UA 可以将所有链接视为未访问的链接,或实施其他措施来保护用户的隐私,同时以不同的方式呈现已访问和未访问的链接。
您可以在此处阅读更多相关信息:“堵塞 CSS 历史记录泄漏”。
您的问题的可能解决方法可能是:
- 将用户单击的链接存储在本地存储中或
- 通过将链接存储在用户会话中的脚本重定向每个链接,或者
- 使用 AJAX 提交新点击的链接,并将值存储在会话中