facebook@jsbanktwitter@js_bankgoogle+javascriptbanknewsletterrss@jsbank






ieoBIN.com - The Best IEO List to Discover, Invest in 2019

Lấy tham số URL với JavaScript Trong bài viết hướng dẫn này, tác giả giới thiệu với bạn hai giải pháp JavaScript để thực hiện việc lấy các tham số trong đường dẫn URL hiện hành. Các giải pháp này rất đơn giản và dễ dàng để sử dụng.


I found 2 simple solutions to reading GET variables with JavaScript.
They use either 'document.location' or 'window.location.href' to ready the URL and split it.

The first example I found here:

01.function getURLVar(urlVarName) {
02.    //divide the URL in half at the '?'
03.    var urlHalves = String(document.location).split('?');
04.    var urlVarValue = '';
05.    if(urlHalves[1])
06.    {
07.        //load all the name/value pairs into an array
08.        var urlVars = urlHalves[1].split('&');
09.        //loop over the list, and find the specified url variable
10.        for(i=0; i<=(urlVars.length); i++)
11.        {
12.            if(urlVars[i])
13.            {
14.                //load the name/value pair into an array
15.                var urlVarPair = urlVars[i].split('=');
16.                if (urlVarPair[0] && urlVarPair[0] == urlVarName)
17.                {
18.                    //I found a variable that matches, load it's value into the return variable
19.                    urlVarValue = urlVarPair[1];
20.                }
21.            }
22.        }
23.    }
24.    return urlVarValue;
25.}
26. 
27.document.write('name = ' + getURLVar('name'));

The 2nd I found here. This one is a bit more simple.

01.function getUrlVars()
02.{
03.    var vars = [], hash;
04.    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
05.    for(var i = 0; i < hashes.length; i++)
06.    {
07.        hash = hashes[i].split('=');
08.        vars.push(hash[0]);
09.        vars[hash[0]] = hash[1];
10.    }
11.    return vars;
12.}
13. 
14.var getvars = getUrlVars();
15. 
16.document.write('name = ' + getvars['name']);

I don't really like this solution because you get 'undefined' if you select a variable that does not exist. But that may be what you want to see if a variable is present in the URL.

I simplified the first example using the slice/split idea from the 2nd example and came up with a better solution:

01.function getURLVar(urlVarName) {
02.    var urlVars = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
03.    for(i=0; i<=(urlVars.length); i++)
04.    {
05.        if(urlVars[i])
06.        {
07.            var urlVarPair = urlVars[i].split('=');
08.            if (urlVarPair[0] && urlVarPair[0] == urlVarName)
09.            {
10.                return urlVarPair[1];
11.            }
12.        }
13.    }
14.    return ""// Remove this if you want it to return 'undefined' when a variable does not exist in the URL.
15.}
16. 
17.document.write('name = ' + getURLVar('name'));

JavaScript theo ngày


Google Safe Browsing McAfee SiteAdvisor Norton SafeWeb Dr.Web