js查页面历史

js查页面历史,第1张

一、JS高手呢,获取历史网址

你的问题涉及到 Same Origin Policy(同源策略),这是一个关系到隐私和安全性的问题。任何浏览器都不会给你机会让你访问 异域 历史网址。

但是,如果这三个页面在同一域名下,你可以使用 Javascript 的 documentcookie 来记录每次访问的网址。

我写的例子需要4个文件,url_historyjs,1,2,3(三个 文件内容相同),代码写在空间(hibaidu/keneks/item/50699e21f9300d0c72863e4d)

复制粘贴,将 url_historyjs 和其它三个 文件放在一起,访问任何一个页面,点击任何链接,上面会自动显示曾经访问过的页面。

历史网址以 array 形式保存在 url_history 变量中,所以 url_history[0] 为上一个,url_history[1] 为上上一个,以此类推。

二、js中历史网页中怎么把上一个页面换成另一个页面

js是没有更改浏览历史url和获取从上一页开的url地址的,您可以使用windowlocationreplace(url);来重置浏览历史,

windowlocationreplace不在浏览器中保存跳转前的网址,因此按返回键将无效;

例子:

有 3个jsp页面(1jsp, 2jsp, 3jsp),进系统默认的是1jsp ,当我进入2jsp的时候, 2jsp里面用windowlocationreplace("3jsp");与用windowlocationhref("3jsp");从用户界面来看是没有什么区别的,但是当3jsp页面有一个“返回”按钮,调用 windowhistorygo(-1);wondowhistoryback();方法的时候,一点这个返回按钮就要返回2jsp页面的话,区别就出来了,当用windowlocationreplace("3jsp");连到3jsp页面的话,3jsp页面中的调用 windowhistorygo(-1);wondowhistoryback();方法是不好用的,会返回到1jsp 。当用windowlocationhref("3jsp");连到3jsp页面的话,3jsp页面中的调用 windowhistorygo(-1);wondowhistoryback();方法是好用的,会返回2jsp。因为windowlocationreplace("3jsp");是 不向服务器发送请求的跳转,而windowhistorygo(-1);wondowhistoryback(); 方法是根据服务器记录的请求决定该跳到哪个页面的,所以会跳到系统默认页面1jsp 。windowlocationhref("3jsp");是向服务 器发送请求的跳转,windowhistorygo(-1);wondowhistoryback(); 方法是根据服务器记录的请求决定该跳到哪个页面的,所以就可以返回到2jsp。

三、JS或jQuery,清除网页历史记录

在展示历史记录的页面添加如下js 。

前提是你浏览器的地址栏是怎么样的

你这2个页面都在E03目录里面

如果你当前浏览器的地址里面的目录是E03

比如: fdsfsdf:8080/xxx/E03/yyyyyjsp

那么yyyyjsp里面就可以直接用不加E03的路径, 应该目录是一样的,就在当前目录E03里面去找

如果路径的目录不是E03, 或者是,就会404错误

其实浏览器地址就前面那个ip和端口是虚拟的, 后面的路径和用电脑打开目录是一个道理,想想就明白了

你的错误原因很简单

在a页面,打印的是字符串,所以没有任何错误

但是在b页面,因为是通过url传递过来的。

相当于 bjspurl=>

jsp获取地址栏上的参数有如下几种办法:\x0d\1、使用jsp小脚本实现\x0d\ \x0d\\x0d\ 即可取出地址栏传递的key所代表的值\x0d\\x0d\2、使用EL表达式实现\x0d\ ${paramkey}\x0d\\x0d\ 也可以取出地址栏传递的key所代表的值\x0d\\x0d\3、使用javascript实现\x0d\ \x0d\\x0d\function GetQueryString(name) \x0d\ { \x0d\ var reg = new RegExp("(^|&)"+ name +"=([^&])(&|$)"); \x0d\ var r = windowlocationsearchsubstr(1)match(reg); \x0d\ if(r!=null)return unescape(r[2]); return null; \x0d\ } \x0d\ \x0d\ var myurl=GetQueryString("key"); \x0d\ \x0d\ 也可以取出地址栏传递的key所代表的值\x0d\4、jQuery扩展方法实现\x0d\ jquery扩展了一个getUrlParam()方法\x0d\ \x0d\ \x0d\ $(function($){\x0d\ $getUrlParam = function(name)\x0d\ {\x0d\ var reg = new RegExp("(^|&)"+name +"=([^&])(&|$)");\x0d\ var r= windowlocationsearchsubstr(1)match(reg);\x0d\ if (r!=null) return unescape(r[2]); return null;\x0d\ }\x0d\ });\x0d\ $getUrlParam('key');也可以取出地址栏传递的key所代表的值\x0d\

jsp获取地址栏上的参数有如下几种办法:

1、使用jsp小脚本实现

<%

String value=requestgetParameter("key");

%>

即可取出地址栏传递的key所代表的值

2、使用EL表达式实现

<h2>${paramkey}</h2>

也可以取出地址栏传递的key所代表的值

3、使用javascript实现

<script type="text/javascript">

function GetQueryString(name)

{

var reg = new RegExp("(^|&)"+ name +"=([^&])(&|$)");

var r = windowlocationsearchsubstr(1)match(reg);

if(r!=null)return unescape(r[2]); return null;

}

var myurl=GetQueryString("key");

</script>

也可以取出地址栏传递的key所代表的值

4、jQuery扩展方法实现

jquery扩展了一个getUrlParam()方法

<script type="text/javascript" src="js/jquery183minjs"></script>

<script type="text/javascript">

$(function($){

$getUrlParam = function(name)

{

var reg = new RegExp("(^|&)"+name +"=([^&])(&|$)");

var r= windowlocationsearchsubstr(1)match(reg);

if (r!=null) return unescape(r[2]); return null;

}

});

$getUrlParam('key');也可以取出地址栏传递的key所代表的值

</script>

以上就是关于js查页面历史全部的内容,包括:js查页面历史、关于JSP的URL路径问题、在jsp中如何传递整个URL地址急!!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9675286.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存