2015-02-11 92 views
-2

嗨,我是新的JavaScript之前,我閱讀使用該功能的情況下拆分。我只是遵循,但沒有理解它。你們能給我一個鏈接或指導來解釋它是如何工作的嗎? tks a tonjavascript拆分URL超鏈接

var first = getUrlVars()["id"]; 
var second = getUrlVars()["page"]; 

function getUrlVars() { 
    var vars = {}; 
    var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) { 
     vars[key] = value; 
    }); 
    return vars; 
} 
+1

我不明白問題是什麼 – 2015-02-11 09:18:34

+0

你想知道什麼? [split](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split)是一種不同的功能,您可以使用。 – putvande 2015-02-11 09:19:06

+0

可能的重複http://stackoverflow.com/questions/5448545/how-to-retrieve-get-parameters-from-javascript – 2015-02-11 09:20:19

回答

1

該函數從url返回每個varrian的值。

在你的代碼中,你想從url獲取id,page。我來賓你有一個像這樣的網址:你的網頁? ID =值& 頁面 =值,你想得到它們,不是嗎?

您需要在http://www.w3schools.com/jsref/jsref_replace.asp

+0

男士們!瞭解。但什麼是「[?&] +([^ =&] +)=([^&]」的意思? – 2015-02-11 09:32:21

+0

呵呵,閱讀http://www.w3schools.com/charsets/ref_html_symbols.asp和一些相關的HTML字符集 – 2015-02-11 09:47:21

0

讀取替換功能還有一種功能,你想。希望你能明白這一點:

var getUrlVars = function(url){ 
    if(!url.match(/\?/)) return {}; 
    var paramsfull = url.replace(/^.*\?/, "").split(/\&/g); 
    var params = {}; 
    var _temp; 
    for(var p in paramsfull){ 
     _temp = paramsfull[ p ].split(/\=/); 
     params[ _temp[ 0 ] ] = _temp[ 1 ]; 
    } 
    return params; 
} 

var first = getUrlVars(window.location.href)[ "id" ]; 
var second = getUrlVars(window.location.href)[ "page" ];