使用javascript获取完整的url历史记录

时间:2009-08-05 12:12:31

标签: javascript

javascript中有window.history对象。

使用window.history.lenght可以获得历史记录的长度 或使用history.go(N)

重定向到历史记录中的上一个/下一个网址

获取历史对象的URL有什么技巧吗?我认为这是不可能的 与历史对象,因为网址甚至不是只读。

你有什么想法吗?

2 个答案:

答案 0 :(得分:11)

在任何主流浏览器中都不可能,也不会这样。这将是严重的隐私和same origin policy违规行为。

答案 1 :(得分:4)

可以通过检测链接的颜色在javascript中确定浏览器历史记录。这只能通过尝试不同的URL来工作,我们无法获得每个历史对象。

<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开始。无论如何,这是关于时间的,这是一个隐私问题。