我有一個像這樣的網址:http://www.my-site.com/#key=kj123asj
。我想用javascript檢索key
。如何使用javascript或jquery從url中檢索參數?
任何幫助表示讚賞。
我有一個像這樣的網址:http://www.my-site.com/#key=kj123asj
。我想用javascript檢索key
。如何使用javascript或jquery從url中檢索參數?
任何幫助表示讚賞。
var matches = location.href.match(/(key=)([a-z0-9]+)$/i);
可變matches
將是一個陣列和火柴[2]將包含密鑰的值。
這個JavaScript庫可以在standard format解析查詢字符串即:
http://www.my-site.com/?key=kj123asj
代碼即可獲得key
將是:
var qs = new Querystring();
var key = qs.get("key");
您可以從變量window.location.href
訪問整個URL。之後,只需要搜索字符串#
或=
字符並在其後提取數據。例如:
var s = window.location.href;
var i = s.indexOf('=');
var value = s.substr(i+1);
當然,只有讓你的第一個值,而如果你只有要提取一個值纔有效。 但是,你可以有一個值的JSON編碼的對象,像這樣:
http://www.somewebsite.com/#data={key: 1293, foo: "bar"}
然後執行:
您現在可以使用普通的JavaScript技術來訪問項目:
var key = map['key'] // 1293
var foo = map['foo'] // "bar"
這應該讓你開始,至少。
$.extend({
getUrlVars: function(){
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
},
getUrlVar: function(name){
return $.getUrlVars()[name];
}
});
// Get object of URL parameters
var allVars = $.getUrlVars();
// Getting URL var by its nam
var byName = $.getUrlVar('name');
似乎每個人都指着你的代碼引用查詢字符串。
假設您的參數位於片段而不是查詢字符串中,如您提供的示例所示,您可以使用window.location.hash屬性訪問它們而無需自己解析整個URL。
從那裏你可以使用類似於其他人提到的代碼。這樣一個簡單的循環就可以工作。
var values = {},
pairs = window.location.hash.substring(1).split('&'),
pair;
for (var i = 0, len = pairs.length; i < len; i++) {
pair = pairs[i].split('=');
values[pair[0]] = pair[1];
}
alert(values['key']);