2013-02-28 49 views
-2

我知道window.location.host和window.location.pathname,但无论如何要拉这样的链接的额外参数?使用JavaScript,有没有办法拉出窗口的当前URL参数并存储到一个变量?

http://www.example.com/test?u=123

我想用一个动态的变量,等于“U123”,但没有双引号结束。

谢谢!

+0

'window.location' – Shmiddty 2013-02-28 23:15:34

+0

你真的想一个“u123”的变量或一个名为“u”的值为“123”的变量? – scunliffe 2013-02-28 23:17:00

+0

Shmiddty是的,我看了一下答案,但我不想使用正则表达式。 Wesley我不想使用jquery,因为我为没有启用jquery的客户端设置它。我正在寻找的是window.location.search。多谢你们! – 2013-03-01 00:35:49

回答

0
var oGetVars = {}; 

if (window.location.search.length > 1) { 
    for (var aItKey, nKeyId = 0, aCouples = window.location.search.substr(1).split("&"); nKeyId < aCouples.length; nKeyId++) { 
    aItKey = aCouples[nKeyId].split("="); 
    oGetVars[unescape(aItKey[0])] = aItKey.length > 1 ? unescape(aItKey[1]) : ""; 
    } 
} 

// alert(oGetVars.yourVar); 
+0

来源:https://developer.mozilla.org/en-US/docs/DOM/window.location – 2013-02-28 23:21:36

+0

嘿,我想要的功劳;-) – matthewk 2013-02-28 23:23:34

0

为了让所有的页面参数为可用变量的一个基本的例子试试这个:

你的情况
var pageParams = {}; 
if(location.search != ''){ 
    var searchStr = location.search; 
    searchStr = searchStr.substr(1); 
    var searchStrArr = searchStr.split('&'); 
    var pageParamPair, pageParamKey, pageParamValue; 
    for(var i=0;i<searchStrArr.length;i++){ 
    pageParamPair = searchStrArr[i].split('='); 
    pageParamKey = pageParamPair[0]; 
    pageParamValue = pageParamPair[1]; 
    pageParams[pageParamKey] = pageParamValue; 
    } 
} 

从而pageParams['u'] = "123"

相关问题