
一、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地址急!!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)