Javascript-location對象

Javascript-location對象

1、location對象

location是最有用的DOM對象之一,它提供了與當前窗口中的文檔有關的信息,還提供了一些導航功能。location對象是一個很特殊的對象,因爲它既是window對象的屬性,也是document對象的屬性;換句話說,window.location和document.location引用的是同一個對象。location對象的用處不只表現在它保存着當前文檔的信息,還表現在它將URL解析爲獨立的片段,讓開發人員可以通過不同的屬性訪問這些片段。下標列出了location對象的所有屬性(省略了每個屬性前面的location前綴):

1.1、查詢字符串參數

雖然上面的屬性可以訪問到location對象的大多數信息,但是其中訪問URL包含的查詢字符串的屬性並不方便。儘管location.search返回從問號到URL末尾的所有內容,但是卻沒有辦法逐個訪問其中的每個查詢字符串參數。因此可以創建一個函數,用以解析查詢字符串,然後返回包含所以參數的一個對像。

1.2、位置操作

使用location對象可以通過很多方式來改變瀏覽器的位置。最常用的方式就是使用
assign()方法併爲它傳遞一個參數URL:


 

這樣就可以打開新URL,並在瀏覽器的歷史記錄中生成一條記錄。如果將location.href和window.location設置爲一個URL值。也會以該值調用assign()方法。下面的兩行代碼的效果是一樣的:


 

最常用的是設置location.href屬性。
修改location對象的其他屬性也可以改變當前加載的頁面:


 

當通過上述任何一種方式修改URL後,瀏覽器的歷史記錄中就會生成一條新記錄。要禁用這種行爲可以使用replace()方法,這個方法只接收一個參數,既要導航到的URL,結果雖然導致瀏覽器位置變化,但不在歷史記錄中生成新記錄。在調用replace()方法後,用戶不能回到前一個頁面,此時後退按鈕將處於禁用狀態:


 

與爲重有關的最後一個方法是reload(),作用是重新加載當前顯示的頁面。如果調研那個reload()不傳遞任何參數,頁面就以最有效的方式重載,也就是從瀏覽器緩存中沖洗加載;如果想強制從服務器重新加載,則需要:


 

位於reload()方法後的代碼可能會也可能不會執行,這要取決於網絡延遲或系統資源等因素,因此,最好將reload()放在代碼的最後一行。

轉自:https://www.cnblogs.com/huangt/p/3814009.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章