js查页面历史
一、JS高手呢,获取历史网址
你的问题涉及到 Same Origin Policy(同源策略),这是一个关系到隐私和安全性的问题。任何浏览器都不会给你机会让你访问 **异域** 历史网址。
但是,如果这三个页面在同一域名下,你可以使用 Javascript 的 document.cookie 来记录每次访问的网址。
我写的例子需要4个文件,url_history.js,1.,2.,3.(三个 文件内容相同),代码写在空间(hi.baidu/keneks/item/50699e21f9300d0c72863e4d)
复制粘贴,将 url_history.js 和其它三个 文件放在一起,访问任何一个页面,点击任何链接,上面会自动显示曾经访问过的页面。
历史网址以 array 形式保存在 url_history 变量中,所以 url_history[0] 为上一个,url_history[1] 为上上一个,以此类推。
二、js中历史网页中怎么把上一个页面换成另一个页面
js是没有更改浏览历史url和获取从上一页开的url地址的,您可以使用window.location.replace(url);来重置浏览历史,
window.location.replace不在浏览器中保存跳转前的网址,因此按返回键将无效;
例子:
有 3个jsp页面(1.jsp, 2.jsp, 3.jsp),进系统默认的是1.jsp ,当我进入2.jsp的时候, 2.jsp里面用window.location.replace("3.jsp");与用window.location.href("3.jsp");从用户界面来看是没有什么区别的,但是当3.jsp页面有一个“返回”按钮,调用 window.history.go(-1);wondow.history.back();方法的时候,一点这个返回按钮就要返回2.jsp页面的话,区别就出来了,当用window.location.replace("3.jsp");连到3.jsp页面的话,3.jsp页面中的调用 window.history.go(-1);wondow.history.back();方法是不好用的,会返回到1.jsp 。当用window.location.href("3.jsp");连到3.jsp页面的话,3.jsp页面中的调用 window.history.go(-1);wondow.history.back();方法是好用的,会返回2.jsp。因为window.location.replace("3.jsp");是 不向服务器发送请求的跳转,而window.history.go(-1);wondow.history.back(); 方法是根据服务器记录的请求决定该跳到哪个页面的,所以会跳到系统默认页面1.jsp 。window.location.href("3.jsp");是向服务 器发送请求的跳转,window.history.go(-1);wondow.history.back(); 方法是根据服务器记录的请求决定该跳到哪个页面的,所以就可以返回到2.jsp。
三、JS或jQuery,清除网页历史记录
在展示历史记录的页面添加如下js 。