工作中遇到的问题总结2(js类)

问题一: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]);          //直接弹出第一个参数 (如果有多个参数 还要进行循环的)
    }
}



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值