我想创建一个简单的网络应用程序,查看某人的浏览历史记录,并根据他们所查看的内容推荐新网站,但我遇到了很多安全性和非标准化问题。基本上,我想知道我想要做的事情是否可能?
我发现chrome有一个名为chrome.history
的特殊属性,提示用户获得权限,然后返回一个包含该信息的数组,但是在对webkit进行某些更改后它似乎不再起作用了。 Mozilla也有一些名为window.history
的东西,但我不确定它是否有效。
可以这样做吗?有什么建议吗?
答案 0 :(得分:1)
不,如果可能的话,这是一个安全问题。您可以使用php中的$_SERVER['REFERRAL']
查看用户在您网站上的位置,但仅限于非httpS网站。
如果有可能,所有这些广告公司都不必使用跟踪Cookie :)他们只需查看您的历史记录。
How do you access browser history?有一些阴暗的选项,所有这些我都不建议使用。这是为了获得隐私敏感的用户信息。即使在提示之后,用户也会感到不安全,因为他们并不确切知道他们允许你做什么,
这可能在IE中无效。所有现代浏览器都非常忙于尝试升级隐私问题,我不认为他们会喜欢这个。
一种方法可能是编写一个可以访问它的浏览器插件,或者使用一个带有iframe的小型顶部栏让你的网站用户浏览,但这并不理想。
答案 1 :(得分:0)
就像Martijn一样,您无法访问用户的历史记录,因为这是一个安全问题。
但我认为您可以编写自己的chrome / firefox扩展并将其发布到网上商店。
据我所知,chrome.history
工作正常,并且在chrome开发人员的文档中,您可以在此处找到用法:http://developer.chrome.com/extensions/history.html
答案 2 :(得分:0)
据我所知,只有Chrome和Firefox通过扩展程序提供完整的浏览器历史记录访问权限。
https://developer.chrome.com/extensions/history.html
https://developer.mozilla.org/en-US/docs/XPCOM_Interface_Reference/nsIBrowserHistory
答案 3 :(得分:0)
是的,如果您拥有他们可能访问过的网站列表,则可以这样做。只要用户意识到他们的浏览器历史记录将用于识别潜在的兴趣,我认为requestAnimationFrame
时间技巧是解析访问过的网站的一种不错的方式。
您仍然可以使用:visited
,但需要用户点击链接。