一、屬性
- hash:返回URL中的hash(#后跟零個或多個字符),若沒有則返回空字符串;
- host/hostname:返回服務器名稱和端口號/服務器名稱婴氮;
- port:返回URL中指定端口號,若無指定返回空字符串盾致;
- href:返回當前加載頁完整URL(location.toString()也返回這個)主经;
- pathname:返回URL中的目錄和文件名;
- protocol:返回當前頁面使用協(xié)議庭惜;
- search:返回URL中以問號開頭的查詢字符串(若無則返回空字符串)罩驻;
二、查詢字符串參數(shù)
function getParams() {
var qs = (location.search.length > 0 ? location.search.substring(1) : '');
if (!qs.length) return {};
var args = {},
items = qs.split('&'),
item = null,
name = null,
value = null;
for (var i = 0; i < items.length; i++) {
item = items[i].split('=');
name = decodeURIComponent(item[0]);
value = decodeURIComponent(item[1]);
if (name.length) args[name] = value;
}
return args;
}
三蜈块、位置操作
1鉴腻、修改頁面url(跳轉到新頁面)
-
location.assign(urlString)
立即打開一個新的url并在瀏覽器歷史記錄中生成一條記錄; -
window.location = urlString;
location.href = urlString;
以上兩個方法也是調用了 assign() 方法百揭; - 此外爽哎,修改location的其他屬性也可改變當前加載頁面(只是不常用);
Tips: 以上修改都會生成一條新的歷史記錄器一,可通過點擊后退按鈕回到上一頁课锌;
2、替換頁面url(替換當前頁)
location.replace(urlString);
該方法會將當前頁面改變,且不生成新的歷史記錄渺贤,相當于替換了當前頁雏胃;
3、重新加載當前頁
location.reload();
如果不傳任何參數(shù)則刷新重載當前頁志鞍;(有可能從緩存中加載)
如果傳入 true 則強制從服務器從新加載瞭亮;(從服務器從新加載)