问题一:JS页面跳转方法
方法1:window.location.href方式
<script language="JavaScript" type="text/javascript">
window.location.href="target.aspx";
</script>
方法2:window.navigate方式跳转
<script language="javascript">
window.navigate("target.aspx");
</script>
方法3:window.loction.replace方式实现页面跳转,注意跟第一种方式的区别
<script language="javascript">
window.location.replace("target.aspx");
</script>
方法4:self.location方式实现页面跳转,和下面的top.location有小小区别
<script language="JavaScript">
self.location='target.aspx';
</script>
方法5:top.location
<script language="javascript">
top.location='target.aspx';
</script>
方法6:window.history.back(-1);
<script language="javascript">
alert("返回");
window.history.back(-1);
</script>
方法7:meta方式实现跳转(content = 3 单位是秒)
<meta http-equiv=refresh content=3;URL="http://www.dayanmei.com">
总结:
1. Javascript 返回上一页 history.go(-1), 返回两个页面: history.go(-2);
2. history.back();
3. window.history.forward()返回下一页
4. window.history.go(返回第几页,也可以使用访问过的URL)
例:
<a href="javascript:history.go(-1);">向上一页</a>
response.Write("<script language=javascript>")
response.Write("if(!confirm('完成任务?')){history.back();}")
response.Write("</script>")
response.Write("<script language=javascript>history.go(-1);</script>")
<a href="javascript:history.go(-1);">向上一页</a>
页面跳转:οnclick="window.location.href='list.aspx'"
P.S.
Javascript刷新页面的几种方法:
1:history.go(0)
2:location.reload()
3:location=location
4:location.assign(location)
5:document.execCommand('Refresh')
6:window.navigate(location)
7:location.replace(location)
8:document.URL=location.href
自动刷新页面的方法:
1.页面自动刷新:把如下代码加入<head>区域中 ,其中20指每隔20秒刷新一次页面.
<meta http-equiv="refresh" content="20">
2.页面自动跳转:把如下代码加入<head>区域中 ,其中20指隔20秒后跳转到http://www.wyxg.com页面
<meta http-equiv="refresh" content="20;url=http://www.wyxg.com">
3.页面自动刷新js版
function myrefresh(){
window.location.reload();
}
setTimeout('myrefresh()',1000); //指定1秒刷新一次
JS刷新框架的脚本语句 :
<script language=JavaScript>
parent.location.reload(); //如何刷新包含该框架的页面用
</script>
<script language=JavaScript>
self.opener.location.reload();//子窗口刷新父窗口
</script>
( 或 <a href="javascript:opener.location.reload()">刷新</a> )
<script language=JavaScript>
parent.另一FrameID.location.reload(); //如何刷新另一个框架的页面用
</script>
如果想关闭窗口时刷新或者想开窗口时刷新的话,在<body>中调用以下语句即可。
<body onload="opener.location.reload()"> 开窗时刷新
<body onUnload="opener.location.reload()"> 关闭时刷新
window.opener.document.location.reload()
问题二:JS获取URL中参数值(QueryString)
解决1:正则法
function getQueryString(name) {
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
var r = window.location.search.substr(1).match(reg);
return null;
if (r != null) {
return unescape(r[2]);
}
}
// 这样调用:
alert(GetQueryString("参数名3"));
alert(GetQueryString("参数名1"));
alert(GetQueryString("参数名2"));
解决2:正则
通过JS获取url参数,这个经常用到。比如说一个url:http://wwww.jb51.net/?q=js,我们想得到参数q的值,那可以通过以下函数调用即可。
function GetQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg); //获取url中"?"符后的字符串并正则匹配
var context = "";
if (r != null)
context = r[2];
reg = null;
r = null;
return context == null || context == "" || context == "undefined" ? "" : context; }
alert(GetQueryString("q"));
解决3:单个参数的获取方法
function GetRequest() {
var url = location.search; //获取url中"?"符后的字串
if (url.indexOf("?") != -1) { //判断是否有参数
var str = url.substr(1); //从第一个字符开始 因为第0个是?号 获取所有除问号的所有符串
strs = str.split("="); //用等号进行分隔 (因为知道只有一个参数 所以直接用等号进分隔 如果有多个参数 要用&号分隔 再用等号进行分隔)
alert(strs[1]); //直接弹出第一个参数 (如果有多个参数 还要进行循环的)
}
}