頁面的 URL 地址可以通過 location.url
取得,舉個例子,比如 https://www.example.com/path?name1=value1&name2=value2#top
這時根據 URL 中的 ?
、#
和 &
特徵字元,充分利用好 split()
字串分割方法將整個 URL 逐漸剝離成以查詢串引數組成的陣列,最後還是使用 split()
方法根據 =
字元分割出查詢串引數的 key
和 value
。
注意要對查詢串引數進行解碼(decode),因為 URL 中可能會有被編碼過的特殊字元。
// 通過 location.url 屬性獲取 url,下面是個示例
var url = 'https://www.example.com/path?name1=value1&name2=value2#top';
function parseQueryStr (url) {
var arr = url.split('?'),
res = {};
if (!arr[1]) {
return res;
}
var tempArr = arr[1].split('#')[0].split('&');
tempArr.forEach(function (item) {
var query = item.split('=');
res[decodeURIComponent(query[0])] = decodeURIComponent(query[1]);
});
return res;
}
console.log(parseQueryStr(url)); // {name1: "value1", name2: "value2"}
複製程式碼