JavaScript中有window.history对象。使用javascript获取完整的网址历史记录
有可能使用window.history.lenght 得到历史的lenght或使用history.go重定向到历史上一个/下一个URL(N)
是否有任何的手段来得到的网址历史对象?正如我看到它不可能与历史对象 ,因为网址甚至不是只读。
你有什么想法吗?
JavaScript中有window.history对象。使用javascript获取完整的网址历史记录
有可能使用window.history.lenght 得到历史的lenght或使用history.go重定向到历史上一个/下一个URL(N)
是否有任何的手段来得到的网址历史对象?正如我看到它不可能与历史对象 ,因为网址甚至不是只读。
你有什么想法吗?
这是不可能的,也不会在任何主要的浏览器中。这将是一个严重的隐私和same origin policy违规。
至少读取当前的同源策略范围内的(当前会话)历史记录会很好;-) – NicBright 2014-10-03 10:07:27
通过检测链接的颜色,可以在JavaScript内确定浏览器历史记录。这只能通过尝试不同的网址,我们不能得到每个历史对象。
<script>
function urlvis(url){
document.getElementById('gurl').innerHTML="<a id=geturl href="+url+" >^</a>";
x=document.getElementById('geturl');
color=document.defaultView.getComputedStyle(x,null).getPropertyValue('color');
if (color=="rgb(85, 26, 139)") visited=true; else visited=false;
document.getElementById('gurl').innerHTML="";
return visited;}
</script>
<div id=gurl></div>
现在在您的页面中创建一个可以由innerHTML控制的隐藏元素。注意这个方法只能用于firefox。
编辑:
虽然这是一个工作方法一次,大多数较新的浏览器不会让你得到的链接的计算样式精确的读数。我已经注意到这种变化从Firefox 4开始。无论如何,这是一个隐私问题。
这就是黑客使用的跨站点 – Zelid 2011-08-16 11:57:26
我已经在Firefox 6中测试过了。它不起作用。 FF6中所有的URL都是相同的颜色。以上示例适用于FF3.6和FF4.0。 – 2011-09-26 01:42:48
是的,这是从过去。通过CSS链接颜色(访问过的链接;被访问过),浏览器供应商已经监督并没有解决该问题。这*应该*现在是固定的,但请记住,使用互联网不利于您的隐私和计算机安全。防止此类攻击(和间谍网站)的一个简单方法是禁用javascript,由于行业和广告合作伙伴的要求,Firefox再次因Firefox而变得复杂。 – hakre 2013-09-29 08:57:21
第一个问题是为什么你需要这样的事情。 – rahul 2009-08-05 12:17:59
对于网站统计。我使用横幅广告网络,如果有人来自img.doubleclick.com,我想查看该网站的真实网址,它为我带来当前访问者。 – Zelid 2009-08-05 12:45:53
此问题似乎无关紧要,因为它涉及到双击横幅广告网络的支持请求。 – hakre 2013-09-29 08:17:58