网络编程 
首页 > 网络编程 > 浏览文章

Javascript - HTML的request类

(编辑:jimmy 日期: 2025/5/15 浏览:3 次 )
做中英转换的时候,要准确的获取参数并取出,所以做了一个简单的html中用js获取当取地址栏的一个Object。
里面有三个方法:
1、request.QueryString("参数")//获取指定参数,返回字符串;
2、request.QueryStrings();//获取全部参数,并返回数组;
3、request.setQuery("参数","参数的值");//如果当前地址栏有此参数,那么将更新此参数,否则返回一个新的地址栏参数字符串。
例如:
当前地址栏参数字符串为:?name=a&site=never_online

alert(request.setQuery("name","blueDestiny"))

如果地址栏参数中有"name",那么返回?name=blueDestiny&site=never_online

setQuery方法有自动追加参数的功能。如:
当前地址栏参数字符串为:?site=never_online
alert(request.setQuery("name","blueDestiny"))
则返回?site=never_online&name=blueDestiny

同理,如果地址栏没有参数,也会自动追加参数
alert(request.setQuery("name","blueDestiny"))
返回?name=blueDestiny

复制代码 代码如下:<SCRIPT LANGUAGE="JavaScript"> 
<!-- 
// author: never-online 
// web: never-online.net 
var request = { 
 QueryString : function(val) { 
 var uri = window.location.search; 
 var re = new RegExp("" +val+ "\=([^\&\?]*)", "ig"); 
 return ((uri.match(re))?(uri.match(re)[0].substr(val.length+1)):null); 
 }, 
 QueryStrings : function() { 
 var uri = window.location.search; 
 var re = /\w*\=([^\&\?]*)/ig; 
 var retval=[]; 
 while ((arr = re.exec(uri)) != null) 
 retval.push(arr[0]); 
 return retval; 
 }, 
 setQuery : function(val1, val2) { 
 var a = this.QueryStrings(); 
 var retval = ""; 
 var seted = false; 
 var re = new RegExp("^" +val1+ "\=([^\&\?]*)$", "ig"); 
 for(var i=0; i<a.length; i++) { 
 if (re.test(a[i])) { 
 seted = true; 
 a[i] = val1 +"="+ val2; 
 } 
 } 
 retval = a.join("&"); 
 return "?" +retval+ (seted ? "" : (retval ? "&" : "") +val1+ "=" +val2); 
 } 

alert(request.setQuery("e","b")) 
//--> 
</SCRIPT> 
上一篇:Javascript - 全面理解 caller,callee,call,apply
下一篇:贴一个在Mozilla中常用的Javascript代码
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap