location對(duì)象

一、屬性

  • hash:返回URL中的hash(#后跟零個(gè)或多個(gè)字符),若沒有則返回空字符串;
  • host/hostname:返回服務(wù)器名稱和端口號(hào)/服務(wù)器名稱;
  • port:返回URL中指定端口號(hào),若無指定返回空字符串;
  • href:返回當(dāng)前加載頁(yè)完整URL(location.toString()也返回這個(gè));
  • pathname:返回URL中的目錄和文件名;
  • protocol:返回當(dāng)前頁(yè)面使用協(xié)議;
  • search:返回URL中以問號(hào)開頭的查詢字符串(若無則返回空字符串);

二、查詢字符串參數(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、修改頁(yè)面url(跳轉(zhuǎn)到新頁(yè)面)

  • location.assign(urlString)
    立即打開一個(gè)新的url并在瀏覽器歷史記錄中生成一條記錄;
  • window.location = urlString;
    location.href = urlString;
    以上兩個(gè)方法也是調(diào)用了 assign() 方法;
  • 此外,修改location的其他屬性也可改變當(dāng)前加載頁(yè)面(只是不常用);

Tips: 以上修改都會(huì)生成一條新的歷史記錄,可通過點(diǎn)擊后退按鈕回到上一頁(yè);

2、替換頁(yè)面url(替換當(dāng)前頁(yè))

location.replace(urlString);
該方法會(huì)將當(dāng)前頁(yè)面改變,且不生成新的歷史記錄,相當(dāng)于替換了當(dāng)前頁(yè);

3、重新加載當(dāng)前頁(yè)

location.reload();
如果不傳任何參數(shù)則刷新重載當(dāng)前頁(yè);(有可能從緩存中加載)
如果傳入 true 則強(qiáng)制從服務(wù)器從新加載;(從服務(wù)器從新加載)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容