【问题标题】:Can we get browser history by using Javascript?我们可以使用 Javascript 获取浏览器历史记录吗?
【发布时间】:2012-07-19 08:25:01
【问题描述】:

我们可以使用 Javascript 获取我网站的浏览器历史记录吗?

我可以看到一些旧帖子和线程在谈论这个......但这些方法对我不起作用。

有没有可能,怎么做?

【问题讨论】:

标签: javascript browser browser-history


【解决方案1】:

出于隐私原因,不能读取客户端浏览器历史数据。

如果您试图观察或生成关于仅在您的域中的访问者的数据,则可以使用会话和 cookie 保存页面信息。

您还可以通过自己的脚本收集网站可点击对象上的点击数据,这些脚本通过 ajax 请求发送数据。

如果您正在运行单页应用程序类型的网站并使用“pushState()”函数生成您自己的 url,您只需要添加一些额外的代码来收集该数据并在页面/url 更改时使用 ajax 发送信息。

【讨论】:

  • 但是可以使用history API in Chromein Firefox 从浏览器扩展中读取客户端的历史记录。
  • @AndersonGreen 我认为这不是一个好的做法,甚至不可能强迫访问您网站的人安装浏览器扩展程序。
  • 这可能不是一个好习惯,但仍有可能,因为您可以在网站上使用脚本check whether an extension is installed
【解决方案2】:

你可以利用History object的javascript来做到这一点

history 属性的返回值是 history 对象,它是一个历史项目数组,其中包含从该窗口中访问的 URL 的详细信息。另外,请注意 History 对象是 JavaScript 对象,而不是 HTML DOM 对象。

Window 对象的历史属性语法:

window.history 

【讨论】:

  • 您忘记提及的是,只有几种方法可用。他们只允许浏览这个对象并替换一个项目。
  • @Pranay:我不知道您分享的浏览器教程指的是什么,但 Chrome 的 (27.0.1453.116 m) 历史对象缺少以下属性:当前、下一个、上一个。
猜你喜欢
  • 2017-05-11
  • 2011-04-19
  • 1970-01-01
  • 2012-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-12
  • 1970-01-01
相关资源
最近更新 更多