Location物件是window物件的一部分,應該百分之百的前端開發用過這個物件,但幾乎所有人也都是僅僅使用location.href。但是location物件上面有好幾個屬性和方法對開發很有幫助。
屬性:location.href
可讀可寫,設定或返回當前的URL地址。
屬性:location.host
可讀可寫,設定或返回當前 URL 的主機名稱和埠號。
屬性:location.hostname
可讀可寫,設定或返回當前 URL 的主機名稱。
屬性:location.href
可讀可寫,設定或返回 URL 的錨部分(從 # 號開始的部分)。
屬性:location.port
可讀可寫,設定或返回 URL 的埠號。
屬性:location.pathname
可讀可寫,設定或返回 URL 的路徑部分。也就是埠號之後,從/開始。
屬性:location.protocol
可讀可寫,設定或返回 URL 的協議。
屬性:location.search
可讀可寫,設定或返回 URL 的引數部分,從?開始,包含?。
方法:location.assign(url)
載入新的文件,其實就是跳轉新的地址。
方法:location.reload(true/false)
重新整理當前頁面,false與F5重新整理一樣,true與shift+F5一樣。
方法:location.replace(url)
跳轉新的地址,且沒有歷史記錄在瀏覽器,也就是替換當前的文件。
上面所有的屬性和方法的設定都會重新整理頁面,在一些業務場景下會非常有用,比如單頁面應用,引數改變,單頁面是不會重新執行生命週期的,使用search方法就能重新整理頁面,或者跳轉也是,我們希望重定向,又不希望瀏覽器記住歷史記錄,使用replace方法。
歡迎關注Coding個人筆記公眾號