※ 引述《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)