瀏覽器中的JavaScript核心BOM(瀏覽器物件模型)重點掌握物件之Location物件的屬性與方法
瀏覽器中內建物件Location詳解
引言
在學過JavaScript之後,我們都知道物件分為內建物件 、宿主物件 、自定義物件,我們經常用到的瀏覽器中的內建物件就是宿主物件的一種,瀏覽器的內建物件有很多,本文就來詳細講解一下Location物件的屬性與方法吧。
- 公眾號:前端印象
- 不定時有送書活動,記得關注~
- 關注後回覆對應文字領取:【面試題】、【前端必看電子書】、【資料結構與演算法完整程式碼】、【前端技術交流群】
正文
因為把瀏覽器的所有內建物件逐個詳細講解,文章篇幅會很長,所以我把每個物件的講解都放在不同的文章中,大家如果還想了解其他的瀏覽器內建物件,可以劃到文章最後一部分,那裡有跳轉連結。
一、Location物件的作用
Location物件包含著關於當前網頁的URL資訊,並且可以對URL進行拆分 、讀寫等各種操作。
二、Location物件的引用
我們可以通過瀏覽器的全域性物件window來引用Location,像這樣window.location
,也可以直接通過 location
來引用Locagtion物件。
window.location === location //返回 true
我們在瀏覽器的控制檯中引用一下Location物件,看看會返回什麼
可以看到,返回的Location物件中有許多的屬性和方法,接下來我們就對這些屬性和方法進行講解。
三、Location物件的屬性
我們來看一下Location物件的屬性,下面用一張表格來呈現:
屬性 | 描述 |
---|---|
href | 設定或返回完整的URL |
protocol | 設定或返回URL的協議部分 |
host | 設定或返回主機名和URL的埠號 |
hostname | 設定或返回URL的主機名 |
pathname | 設定或返回URL的路徑 |
port | 設定或返回URL的埠號 |
search | 設定或返回URL的引數部分,即?後面的引數部分 |
hash | 設定或返回URL的錨點部分,即#後面的錨點部分 |
接下來,看一下URL的格式是什麼樣的:協議://主機名:埠/路徑?查詢引數#錨
再來看看一個真實的URLhttps://www.baidu.com/index.html?query=java&i=0#_1
我們在該URL頁面呼叫Location物件的各個屬性的返回值如下:
location.href //返回https://www.baidu.com:5000/index.html?query=java&i=0#_1
location.protocol //返回 https:
location.host //返回 www.baidu.com:5000
location.hostname //返回 www.baidu.com
location.pathname //返回 /index.html
location.port //返回 5000
location.search //返回 ?query=java&i=0
location.hash //返回 #_1
這些屬性是可讀/寫的,所以我們還可以通過給這些屬性賦值,來改變當前頁面的URL值,完成一些頁面的跳轉等操作,例如
//給當前頁面的location物件的href屬性賦值一個新的URL地址
location.href = "https://blog.csdn.net/L_PPP"
我們來看一下給href屬性賦值後,會發生什麼
可以看到,給href屬性賦值後,當前頁面的URL發生了改變,併發生了相應的頁面跳轉。同樣的其他的屬性也是可以進行賦值的,大家可以自行測試一下。
四、Location物件的方法
Location物件一共有3種方法,他們分別是:
方法 | 描述 |
---|---|
assign() | 載入一個新的頁面 |
replace() | 用新的頁面替換當前頁面 |
reload() | 重新載入當前頁面 |
我們來逐個講解這三種看似作用相同,卻有很大區別的方法吧。
- assign()
該方法需要傳入一個URL作為引數,呼叫該方法後,頁面會跳轉到該URL所在的頁面,並且我們可以通過瀏覽器的回退功能返回上一個頁面。
//呼叫Location物件的assign()方法
location.assign("https://blog.csdn.net/L_PPP")
我們來看一下動圖展示
- replace()
該方法同assign()方法一樣,也需要傳入一個URL作為引數,呼叫該方法後,頁面會跳轉到該URL所在的頁面,但是不同的是,該方法呼叫進行跳轉後無法通過瀏覽器的回退功能返回上一個頁面了。
//呼叫Location物件的replace()方法
location.replace("https://blog.csdn.net/L_PPP")
我們來看一下動圖展示
- reload()
該方法不需要傳入任何的引數,可直接呼叫。呼叫該方法,會將當前頁面重新載入,就相當於我們按了F5重新整理頁面。
//呼叫了location物件的reload()方法
location.reload()
我們來看一下動圖展示
結束語
好了,Location物件的講解就到這裡了,如果各位對瀏覽器的其他內建物件感興趣的話,可以去看我這篇文章——http://urstoron.com/1bkv 瀏覽器中的JavaScript核心講解之BOM(瀏覽器物件模型),翻到最底部,可以看到各種其它瀏覽器內建物件的詳解。
相關文章
- 瀏覽器中的JavaScript:文件物件模型與 DOM 操作瀏覽器JavaScript物件模型
- JavaScript瀏覽器事件物件JavaScript瀏覽器事件物件
- window中location物件改變瀏覽器URL和位置物件瀏覽器
- 相容所有瀏覽器array物件indexOf()方法瀏覽器物件Index
- JavaScript 複習之瀏覽器模型JavaScript瀏覽器模型
- web前端瀏覽器物件模型章節Web前端瀏覽器物件模型
- 為什麼vue列印的物件在瀏覽器中顯示...Vue物件瀏覽器
- JavaScript物件的資料屬性與訪問器屬性JavaScript物件
- 學習筆記——瀏覽器物件模型(Window)筆記瀏覽器物件模型
- 瀏覽器核心瀏覽器
- 瀏覽器/元素尺寸相關的屬性瀏覽器
- JavaScript 複習之 Location物件,URL物件JavaScript物件
- Edge瀏覽器被搜狗瀏覽器篡改的解決方法瀏覽器
- 監聽瀏覽器返回,pushState,popstate 事件,window.history物件瀏覽器事件物件
- 在nodejs環境裡使用瀏覽器環境下的document物件NodeJS瀏覽器物件
- 瀏覽器沙箱模型瀏覽器模型
- 重學瀏覽器(1)-多程式多執行緒的瀏覽器瀏覽器執行緒
- 不同瀏覽器核心的區別瀏覽器
- 主流瀏覽器及其核心瀏覽器
- 瀏覽器核心介紹瀏覽器
- 新版 Edge 瀏覽器或將擁有兩個不同的瀏覽器核心瀏覽器
- Chrome 瀏覽器外掛獲取網頁 window 物件(方案三)Chrome瀏覽器網頁物件
- JavaScript location 物件JavaScript物件
- 理解 JavaScript 物件的屬性JavaScript物件
- 瀏覽器儲存的方法瀏覽器
- Puppeteer無頭瀏覽器:開啟自動化之門,掌握瀏覽器世界的無限可能瀏覽器
- JavaScript訪問物件的屬性和方法JavaScript物件
- 怎麼檢測瀏覽器劫持,瀏覽器劫持的方法介紹瀏覽器
- 谷歌瀏覽器禁用JavaScript谷歌瀏覽器JavaScript
- 【瀏覽器】瀏覽器基本工作原理瀏覽器
- 替代Edge瀏覽器?微軟開發新的瀏覽器:採用Chrome核心瀏覽器微軟Chrome
- 理解Python中的類物件、例項物件、屬性、方法Python物件
- 瀏覽器相容性瀏覽器
- 瀏覽器的迴流與重繪 (Reflow & Repaint)瀏覽器AI
- Event Handler 事件處理程式 2 —跨瀏覽器事件物件《高程3》事件瀏覽器物件
- 瀏覽器/nodeJS中的EventLoop瀏覽器NodeJSOOP
- 瀏覽器中的Event Loop瀏覽器OOP
- 瀏覽器核心渲染:重建引擎瀏覽器