看板 Web_Design 關於我們 聯絡資訊
※ 引述《logs ()》之銘言: : 請問要如何讓 JavaScript 可以讀取類似環境變數的參數? : 像是這樣: : http://6rz.hahapoint/find.htm?q=shows&n=1059 : 如上,這樣的網址很像是 php 的功能 : 但內部 find.htm 卻以 JavaScript 來實做此功能 : -------------------------------------------------- : <html> : <head> : <script> : function readline(){ : var QWord=q; : var Number=n;} : <script> : </head> : <body onload="javascript:readline()"> : <a href="javascript:alert(QWord)">test</a> : </body> : </html> : -------------------------------------------------- : PS: 若要進行測試,請使用 files:///c:/123/find.htm?q=1&n=2 : 這樣的網址,否則 C:\123\find.htm?q=1&n=2 這樣子 IE 會無法讀取 : 大致上如此,可是要怎麼樣才能讀取於網址列所輸入的參數呢? : 現在最大的問題,在於標示成黃色的那兩行程式碼 : 很顯然需要某種函式才能將 "網址列的參數" 讀取進來 : 懇請賜教! function get_url_argument(argument_name) { var url = location.href; if(url.match(/\?/g) != null) { var tmp = url.split("\?"); if(tmp[1].match(/&/g) != null) { var tmp2 = tmp[1].split("&"); var url_value = new Array(tmp2.length); var url_name = new Array(tmp2.length); for(var i = 0;i < tmp2.length;i++) { var xx = tmp2[i].split("="); url_name[i] = xx[0]; url_value[i] = xx[1]; } for(var i = 0;i<url_name.length;i++) if(url_name[i] == argument_name) return url_value[i]; } else { var tmp2 = tmp[1].split("="); var url_name = tmp2[0]; var url_value = tmp2[1]; if(argument_name == url_name) return url_value; } return ""; } else return ""; } 使用方法 var q_val = get_url_argument('q'); 以前一個case需求,臨時寫出來的,如果有錯也麻煩您回報給我一下, 或者有演算法的改進也麻煩請您分享 :D 這樣大家才會進步 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.130.213.53 ※ 編輯: cjoe 來自: 140.130.213.53 (09/04 11:04)