正在加载 HTML静态页利用JavaScript处理当前网址URL及参数变量小记 ,请您稍候...
HTML静态页利用JavaScript处理当前网址URL及参数变量小记,HTML,JavaScript,网址URL,参数变量

HTML静态页利用JavaScript处理当前网址URL及参数变量小记

HTML静态页利用JavaScript处理当前网址URL及参数变量小记

关键词:HTML,JavaScript,网址URL,参数变量

    经常碰见一些HTML静态页,也像动态页一样在后面跟着诸如?id=xxx&item=vvv等类型的参数或变量。很久以前开始见到的时候,还以为HTML被映射成动态解析类型了呢(如可以映射成asp),查看过源代码后,才知道是用JavaScript来实现的。因为需要将旧域名地址转换成新域名,而旧域名中多数页面是静态的,所以就需要这段代码,因此就顺利再研究一下。

首先看一下这段代码:

<script type="text/javascript">
var hrefstr,isCN;
hrefstr = window.location.href;
isCN = hrefstr.indexOf("blog.aixianwei.cn");
if (isCN>0)
   {window.location.href = hrefstr.replace(/blog.aixianwei.cn/, "blog.0898888.com")}
</script>

这段代码由window.location.href获得当前网址的URL,赋值给hrefstr,然后indexOf查找是否存在参数中的字符串(blog.aixianwei.cn),如果存在就将URL中的字符串替换为(blog.0898888.com),浏览器便会解析实现跳转,如果不存在就什么都不做。

再看一段代码:

<script language=javascript>
<!--
var hrefstr,pos,parastr;
hrefstr = window.location.href;
pos = hrefstr.indexOf("?");
parastr = hrefstr.substring(pos+1);
if (pos>0){
document.write("所有参数:"+parastr);
} else {
document.write("无参数");
}
//-->
</script>

这段代码获取"?"后所有参数变量。

最后一段代码:

<script language=javascript>
<!--
function getparastr(strname) {
var hrefstr,pos,parastr,para,tempstr;
hrefstr = window.location.href;
pos = hrefstr.indexOf("?")
parastr = hrefstr.substring(pos+1);

para = parastr.split("&");
tempstr="";
for(i=0;i<para.length;i++)
{
  tempstr = para;
  pos = tempstr.indexOf("=");
  if(tempstr.substring(0,pos) == strname) {
   return tempstr.substring(pos+1);
  }
}
return null;
}
// 获取program参数
var programstr = getparastr("program");
document.write(programstr);
//-->
</script>

这段代码获取"?"后某一特定参数变量。

Copyright 2009 By Weite's Blog 桂ICP备06010271号