获取js后所带的参数,如:a.js?a=value1&b=value2

将以下代码保存为:a.js 

JavaScript代码
  1. function querystring(){      
  2.     this.params = new Object();      
  3.     this.initialize = function(){      
  4.         var param=this.paramstring();      
  5.         if(param.length == 0) return;      
  6.         if(param.substring(0,1)=='?'){      
  7.             param=param.substring(1);      
  8.         }      
  9.         param = param.replace(/\+/g, ' ');      
  10.         var args = param.split('&');          
  11.         for (var i=0;i<args.length;i++){      
  12.             var value;      
  13.             var pair = args[i].split('=');      
  14.             var name = unescape(pair[0]);      
  15.             if (pair.length == 2)      
  16.                 value = unescape(pair[1]);      
  17.             else     
  18.                 value = name;             
  19.             this.params[name] = value;      
  20.         }      
  21.     };      
  22.     this.get = function(key, defvalue){      
  23.         return this.params[key]==null?defvalue:this.params[key];      
  24.     };      
  25.     this.paramstring = function(){       
  26.         var col=document.getElementsByTagName("script");       
  27.         var jsrc=col.item(col.length-1).src;       
  28.         var i=jsrc.indexOf("?");       
  29.         var words=jsrc.substr(i+1,jsrc.length);       
  30.         return(words);       
  31.     };      
  32.     this.initialize();      
  33. }      
  34.      
  35. var q = new querystring();      
  36. var a = q.get('a','defaultvalue'); //defaultvalue是默认值      
  37. var b = q.get('b','defaultvalue'); //defaultvalue是默认值   

调用:    

XML/HTML代码
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
  5. <script type="text/javascript" src="a.js?a=baidu&b=google"></script>  
  6. <title>无标题文档</title>  
  7. </head>  
  8.   
  9. <body>  
  10. <!--   
  11.   js运行结果将得到:   
  12.   a=baidu  
  13.   b=google  
  14. -->  
  15. </body>  
  16. </html>  

 

是不是很有趣呢?呵呵~~

引用通告地址: 点击获取引用地址
标签: javascript 参数
评论: 3 | 引用: 0 | 阅读: 670 | 打印 | 打包
TEST [ 2008-09-28 17:44 | 回复 | 编辑 删除 ]
看看是不是真有脚本错误
TEST [ 2008-09-28 17:45 | 回复 | 编辑 删除 ]
没错,IE7下,发表评论后显示脚本错误,页面不会刷新.手动刷新后发现提交成功了的,提示UNDEFINED
Query [ 2008-10-21 14:23 | 回复 | 编辑 删除 ]
博主,那JS好像有bug,我这里弹出错误!在那个&字符这里出错,说"错误的数量词"

不知怎么回事
  • 1 
发表评论
昵 称: 密 码:
网 址: 邮 箱:
验证码: 验证码图片 选 项:
头 像:
内 容: