收集一些JS识别域名跳转代码


Posted on June 21, 2007


<html>
<body onload="s()">

</body>
</html>
<script>
function s()
{
  var   s_domain   =   location.host; 
  var   js_path  =   "www.sharingcn.com.cn";   
  if   (s_domain   ==   js_path)
  {
 top.location.href = "http://www.sharingcn.com.cn/index.aspx"; 
  }
  else
  {
 top.location.href = "http://www.minsblog.com/jm"
 }
 }
</script>

js提取url参数的几种方法。

第一,正则表达式,直接找出参数等号右边的值即可。但是,如果该参数后还有&就不可行。

<script language="javascript">
    var str=window.location.href; 
    var es=/clid=/; 
    es.exec(str); 
    var right=RegExp.rightContext; 
    if(right=="1")
    {
    sub_nav_4.style.display = "block";
    li4.style.background = "#a1ca00";
    }
</script>

第二,把能找到的参数都付给argsarr数组,将来可以用argsarr[i]进行相应的访问,方法不错,太长,参数不容易记忆。 
 /**//**
      * 提取URL中的参数
      */
     function getArgs()
     {
       //加上substring的意义是去掉查询字符串中的?号。
       //var query = window.location.search.substring(1);
       
       //定义一个数组,用于存放取出来的字符串参数。
       var argsArr = new Object();
       
       //获取URL中的查询字符串参数
       var query = window.location.search;
       query = query.substring(1);
       
       //这里的pairs是一个字符串数组
       var pairs = query.split("&");//name=myname&password=1234&sex=male&address=nanjing
       
       for(var i=0;i<pairs.length;i++)
       {
         var sign = pairs[i].indexOf("="); 
         //如果没有找到=号,那么就跳过,跳到下一个字符串(下一个循环)。
         if(sign == -1)
         {
           continue; 
         }
         
         var aKey = pairs[i].substring(0,sign);
         var aValue = pairs[i].substring(sign+1);       
         
         argsArr[aKey] = aValue;
       }
       
       return argsArr;
     } 

第三,最简单的方法,类似第二种,不过没有创建数组存参数,可直接访问参数的名字,容易看懂。 

<script language="javascript">
            function getarg()
            {
            var url = unescape(window.location.href);
            var allargs = url.split("?")[1];
            var args = allargs.split("&");
            for(var i=0; i<args.length; i++)
            {
            var arg = args[i].split("=");
            eval('this.'+arg[0]+'="'+arg[1]+'";');
            }
            } 
            var urlarg=new getarg();
            if(urlarg.clid=="1")
                {
                sub_nav_6.style.display = "block";
                li6.style.background = "#a1ca00";
                }
 </script>

js获取URL地址某个参数数据

function closeThis()
{
    var paraName = URL_Request("UploadPanelName");
 var cm=window.parent.document.getElementById(paraName);
 if (cm.style.visibility=="visible")
 {
  cm.style.visibility = "hidden";
 }
}


function URL_Request(strName)
{
   var strHref = document.location.toString();
   var intPos = strHref.indexOf("?");
   var strRight = strHref.substr(intPos + 1);//==========获取到右边的参数部分
   var arrTmp = strRight.split("&");//=============以&分割成数组
   for(var i = 0; i < arrTmp.length-1; i++ ) //===========循环数组
   {
     var dIntPos = arrTmp[i].indexOf("=");
     var paraName= arrTmp[i].substr(0,dIntPos);
     var paraData= arrTmp[i].substr(dIntPos+1);
    
     if(paraName.toUpperCase() == strName.toUpperCase()) 
     {
        return paraData;
      }
   }
   return "";
}
  </script>

用js获取当前url地址中的域名

var getHost = function(url) { 
        var host = "null";
        if(typeof url == "undefined"
                        || null == url)
                url = window.location.href;
        var regex = /.*://([^/]*).*/;
        var match = url.match(regex);
        if(typeof match != "undefined"
                        && null != match)
                host = match[1];
        return host;
}
alert(getHost());
alert(getHost('https://test.com'));
alert(getHost('http://test.com/123.html'));]

利用JS取得地址栏参数 

假设URL的地址是 http://localhost/test.html?player=shamohai

<script>

 var add = top.location;//取得地址栏的URL
    add = add.toString();
    var showIndex = add.indexOf("?player=");//得到参数的位置

   var showParam="";//需要得到的参数  

if (playerIndex != -1) {
        showParam= unescape(add.substring(playerIndex + 8, add.length));
        
    }

</script>

用JS取得页面的参数
function QueryString(para)
{
var retval="",s=location.search.replace("?","");
if(s=="")return "";s = s.split("&");
for(var i=0;i<s.length;i++)
  if(s[i].toUpperCase().indexOf(para.toUpperCase() + "=")==0)
   retval+=((retval==""?"":", ")+s[i].substr(s[i].indexOf("=")+1,s[i].length));
return retval;


标签:N/A

 

在线学习答案查询入口
微信扫码联系
微信扫码联系