js查页面历史

 我来答
大沈他次苹0B
2022-11-19 · TA获得超过7335个赞
知道大有可为答主
回答量:3059
采纳率:100%
帮助的人:179万
展开全部

一、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 。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式