国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

用JavaScript 處理 URL 的兩個函數代碼

2024-09-06 12:41:48
字體:
來源:轉載
供稿:網友
function request(paras){ //獲取 url 的參數值,不區分大小寫,如無此參數,返回空字符串.
var url = location.href;
var paraString = url.substring(url.indexOf("?")+1,url.length).split("&");
var paraObj = {}
for (i=0; j=paraString[i]; i++){
paraObj[j.substring(0,j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=")+1,j.length);
}
var returnValue = paraObj[paras.toLowerCase()];

if(typeof(returnValue)=="undefined"){
return "";
}else{
return returnValue;
}
}
function redirect(){ //第一個參數是當前url,如 http://localhost/demo.asp?xxx=zzz, 第二個及以后的參數形式必須為 xxx=yyy, mm=bbbbb 最終跳轉url為 http://localhost/demo.asp?xxx=yyy&aaa=bbb
if (arguments.length==1){
location.href = arguments[0];
return;
}else{ 
var paraObj = {};
if (arguments[0].indexOf("?")!=-1){
var curUrlParas = arguments[0].substring(arguments[0].indexOf("?")+1,arguments[0].length).split("&");
for (i=0; j=curUrlParas[i]; i++){
paraObj[j.substring(0,j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=")+1,j.length);
}
}
for (i=1; j=arguments[i]; i++){
paraObj[j.substring(0,j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=")+1,j.length);
}
var newURL= "";
for (key in paraObj){
newURL += key+"="+paraObj[key]+"&";
}
if (arguments[0].indexOf("?")!=-1){
newURL = arguments[0].substring(0,arguments[0].indexOf("?")+1)+newURL.substring(0,newURL.length-1);
}else{
newURL = arguments[0]+"?"+newURL.substring(0,newURL.length-1);
}
location.href = newURL;
return;
}
}


第二個函數redirect如果只有一個參數時,就是簡單的重定向,當有2個或以上的參數時,就能動態指定目的url,該函數可用于翻頁功能,比如 redirect("http://www.xxx.com/list.asp?page=1","page="+parseInt(request("page"))+1),還可用于url類型的搜索,如:redirect("http://www.xxx.com/search.asp","range="+escape($("range").value),"keyword="+escape($("keyword").value)),url的操作變得簡單起來。
redirect 的核心是建立一個url參數表(hash table),函數的第二個及以后的參數都是添加到該hash table中,最后把該表序列化為目的url。

剛發完日志,就想到可以再改進一下,增加一個參數,決定是否用新窗口打開目的url。


/*
第一個參數是當前url,如 http://localhost/demo.asp?xxx=zzz,
第二個及以后的參數形式必須為 xxx=yyy, mm=bbbbb 
最終跳轉url為 http://localhost/demo.asp?xxx=yyy&aaa=bbb
*/
function redirect(){
if (arguments.length==0){
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 榕江县| 凉城县| 将乐县| 兰西县| 恩施市| 清苑县| 岳阳县| 瑞金市| 大同市| 辉县市| 龙南县| 德州市| 石门县| 花垣县| 灌阳县| 云安县| 蓬溪县| 辽中县| 宁武县| 冀州市| 奉节县| 建阳市| 水富县| 西乌珠穆沁旗| 高平市| 石狮市| 浮梁县| 广西| 丰县| 蕲春县| 布拖县| 兴宁市| 社旗县| 樟树市| 广平县| 兴安县| 岳池县| 体育| 蒙城县| 民县| 普定县|