javascript中 location用于獲取或設置窗體的URL,并且可以用于解析URL,是BOM中最重要的對象之一,下面我們就來詳細探討下Location對象的使用。
javascript中location地址對象描述的是某一個窗口對象所打開的地址。要表示當前窗口的地址,只需要使用“location”就行了;若要表示某一個窗口的地址,就使用“<窗口對象>.location”。
一、JS中Location的含義
1、Location 對象存儲在 Window 對象的 Location 屬性中,表示那個窗口中當前顯示的文檔的 Web 地址。它的 href 屬性存放的是文檔的完整 URL,其他屬性則分別描述了 URL 的各個部分。這些屬性與 Anchor 對象(或 Area 對象)的 URL 屬性非常相似。當一個 Location 對象被轉換成字符串,href 屬性的值被返回。這意味著你可以使用表達式 location 來替代 location.href。
2、Anchor 對象表示的是文檔中的超鏈接,Location 對象表示的卻是瀏覽器當前顯示的文檔的 URL(或位置)。但是 Location 對象所能做的遠遠不止這些,它還能控制瀏覽器顯示的文檔的位置。如果把一個含有 URL 的字符串賦予 Location 對象或它的 href 屬性,瀏覽器就會把新的 URL 所指的文檔裝載進來,并顯示出來。
3、除了設置 location 或 location.href 用完整的 URL 替換當前的 URL 之外,還可以修改部分 URL,只需要給 Location 對象的其他屬性賦值即可。這樣做就會創建新的 URL,其中的一部分與原來的 URL 不同,瀏覽器會將它裝載并顯示出來。例如,假設設置了Location對象的 hash 屬性,那么瀏覽器就會轉移到當前文檔中的一個指定的位置。同樣,如果設置了 search 屬性,那么瀏覽器就會重新裝載附加了新的查詢字符串的 URL。
4、除了 URL 屬性外,Location 對象的 reload() 方法可以重新裝載當前文檔,replace()可以裝載一個新文檔而無須為它創建一個新的歷史記錄,也就是說,在瀏覽器的歷史列表中,新文檔將替換當前文檔。
二、JS中Location屬性
屬性描述
hash設置或返回從井號 (#) 開始的 URL(錨)。如果地址里沒有“#”,則返回空字符串。
host設置或返回主機名和當前 URL 的端口號。
hostname設置或返回當前 URL 的主機名。
href設置或返回完整的 URL。在瀏覽器的地址欄上怎么顯示它就怎么返回。
pathname設置或返回當前 URL 的路徑部分。
port設置或返回當前 URL 的端口號,設置或返回當前 URL 的端口號。
protocol設置或返回當前 URL 的協議,取值為 'http:','https:','file:' 等等。
search設置或返回從問號 (?) 開始的 URL(查詢部分)。
三、JS中Location對象方法
屬性描述
assign()加載新的文檔。
reload()重新加載當前文檔,相當于按瀏覽器上的“刷新”(IE)或“Reload”(Netscape)鍵。
replace()用新的文檔替換當前文檔,相當于按瀏覽器上的“刷新”(IE)或“Reload”鍵。
四、JS中Location實例
- //簡單跳轉
- function gotoPage(url) {
- var url ="url?catalogid="+catalogID;
- window.location =url;
- }
- //為單個頁面傳遞參數
- function goto_catalog(iCat) {
- if(iCat<=0) {
- top.location = "url";
- } else {
- window.location ="url?catid="+iCat;
- }
- }
- // 對指定框架進行跳轉頁面
- function goto_iframe(url) {
- parent.mainFrame.location ="url";
- }
以上所述就是本文的全部內容了,希望大家能夠喜歡。
新聞熱點
疑難解答
圖片精選