天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

用JavaScript 處理 URL 的兩個(gè)函數(shù)代碼

function request(paras){ //獲取 url 的參數(shù)值,不區(qū)分大小寫,如無(wú)此參數(shù),返回空字符串.
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(){ //第一個(gè)參數(shù)是當(dāng)前url,如 http://localhost/demo.ASP?xxx=zzz, 第二個(gè)及以后的參數(shù)形式必須為 xxx=yyy, mm=bbbbb 最終跳轉(zhuǎn)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;
}
}


第二個(gè)函數(shù)redirect如果只有一個(gè)參數(shù)時(shí),就是簡(jiǎn)單的重定向,當(dāng)有2個(gè)或以上的參數(shù)時(shí),就能動(dòng)態(tài)指定目的url,該函數(shù)可用于翻頁(yè)功能,比如 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的操作變得簡(jiǎn)單起來(lái)。
redirect 的核心是建立一個(gè)url參數(shù)表(hash table),函數(shù)的第二個(gè)及以后的參數(shù)都是添加到該hash table中,最后把該表序列化為目的url。

剛發(fā)完日志,就想到可以再改進(jìn)一下,增加一個(gè)參數(shù),決定是否用新窗口打開目的url。


/*
第一個(gè)參數(shù)是當(dāng)前url,如 http://localhost/demo.ASP?xxx=zzz,
第二個(gè)及以后的參數(shù)形式必須為 xxx=yyy, mm=bbbbb 
最終跳轉(zhuǎn)url為 http://localhost/demo.ASP?xxx=yyy&aaa=bbb
*/
function redirect(){
if (arguments.length==0){
return;
}
if (arguments.length==1){
location.href = arguments[0];
return;
}else if(arguments.length==2){
(arguments[1]==true)?window.open(arguments[0]):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=2; 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);
}
arguments[1]==true?window.open(newURL):location.href = newURL;
return;
}
}



根據(jù)昨天臨下班前的想法,再修改一下,把第二個(gè)參數(shù)放到最后面去。

/*
Use Age:
redirect(url,[paras_1],[paras_2],...,[paras_n],[newWin])
paras_n: url參數(shù),形式如 page=1 或 type=news 等。
newWin: 函數(shù)的最后一個(gè)參數(shù),布爾類型,為true時(shí),用新窗口(window.open)打開url,否則用當(dāng)前窗口(location.open)打開。默認(rèn)值為 false。

Example:
redirect("http://www.google.com/search","q=hello","start=20",true); //將在google搜索"hello",并翻到第3頁(yè),并用新窗口打開。
redirect("http://www.xxx.com/listpage.ASP","page="+parseInt(request("page"))+1); //翻頁(yè)功能中的“”。

*/
function redirect(){
if (arguments.length==0){
return;
}
if (arguments.length==1){
location.href = arguments[0];
return;
}else if(arguments.length==2 && typeof(arguments[1])=="boolean"){
(arguments[1]==true)?window.open(arguments[0]):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);
}
}
var j = arguments.length;
for (i=1; i if (typeof(arguments[i])=="boolean"){
break;
}
paraObj[arguments[i].substring(0,arguments[i].indexOf("=")).toLowerCase()] = arguments[i].substring(arguments[i].indexOf("=")+1,arguments[i].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);
}
if(typeof(arguments[length-1])=="boolean" && arguments[length-1]==true){
window.open(newURL);
}else{
location.href = newURL;
}
return;
}
}

JavaScript技術(shù)用JavaScript 處理 URL 的兩個(gè)函數(shù)代碼,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 麻豆AV福利AV久久AV | 年轻的搜子8中字在线观看 年轻的朋友4在线看中文字幕 | 亚洲、国产综合视频 | 国产精品日韩欧美一区二区三区 | 肉动漫3D卡通无修在线播放 | 日本三区四区免费高清不卡 | 色WWW永久免费视频首页 | 国产午夜精品理论片免费观看 | WWW国产精品内射老师 | 9277在线观看资源 | 双性将军粗壮H灌满怀孕 | 国产三级精品三级在线观看 | 国产在线观看网址你懂得 | 久久人人玩人妻潮喷内射人人 | 久久精品国产欧美成人 | 丰满少妇69激懒啪啪无码 | 神马电影院午夜神福利在线观看 | 玉娇龙续集春雪瓶txt免费阅读 | 伊人久久影院大香线蕉 | 亚洲另类国产综合在线 | 97国产精品久久精品国产 | 2018高清国产一区二区三区 | 免费一级片网站 | 国产成人精品久久一区二区三区 | 野草观看免费高清视频 | 1级午夜影院费免区 | 国产精品国产三级国AV在线观看 | a级精品九九九大片免费看 A级韩国乱理伦片在线观看 | 中文在线免费看视频 | 97精品国产自产在线观看永久 | 漂亮美女2018完整版 | 2021国产精品国产精华 | 欧美国产一区二区三区激情无套 | www黄色com| 精品国产在线亚洲欧美 | 宝贝乖女好紧好深好爽老师 | 扒开美女下面粉嫩粉嫩冒白浆 | 亚洲精品乱码久久久久久直播 | 亚洲精品国产AV成人毛片 | 成人影院午夜久久影院 | 久久视频在线视频观看精品15 |