前端jquery獲取當前頁面的URL信息

目錄

1、Location的概念

2、Location的屬性

3、Location的舉例說明

4、Location的方法

5、Location的總結


作爲一個後端的開發大神,最近在做公司的一個網站,前端有很多頁面,而我對於前端來說確是菜鳥,今天就被問了一個問題,如何獲取當前頁面的url以及如何分析它的每一部分,下面記錄一下我的心得。

1、Location的概念

Location 接口表示其鏈接到的對象的位置(URL)。所做的修改反映在與之相關的對象上。 Document 和 Window 接口都有這樣一個鏈接的Location,分別通過 Document.locationWindow.location 訪問。

請注意,docuemnt的location屬性也引用的是location對象。`window.location === document.location 輸出true

2、Location的屬性

Location 接口不繼承任何屬性,但是實現了那些來自 URLUtils 的屬性。

 

Location.href

設置或獲取整個 URL 爲字符串。包含整個URL的一個DOMString

Location.protocol

設置或獲取 URL 的協議部分。包含URL對應協議的一個DOMString,最後有一個":"。

Location.host

設置或獲取 location 或 URL 的 hostname 和 port 號碼。包含了域名的一個DOMString,可能在該串最後帶有一個":"並跟上URL的端口號。

Location.hostname

包含URL域名的一個DOMString

Location.port

設置或獲取與 URL 關聯的端口號碼。包含端口號的一個DOMString

Location.pathname

設置或獲取對象指定的文件名或路徑。包含URL中路徑部分的一個DOMString,開頭有一個“/"。

Location.search

設置或獲取 href 屬性中跟在問號後面的部分。包含URL參數的一個DOMString,開頭有一個“?”

Location.hash

設置或獲取 href 屬性中在井號“#”後面的分段。包含塊標識符的DOMString,開頭有一個“#”。

Location.username

包含URL中域名前的用戶名的一個DOMString

Location.password

包含URL域名前的密碼的一個 DOMString

Location.origin 只讀

包含頁面來源的域名的標準形式DOMString

3、Location的舉例說明

var url = document.createElement('a');
url.href = 'https://developer.mozilla.org/en-US/search?q=URL#search-results-close-container';
console.log(url.href);      // https://developer.mozilla.org/en-US/search?q=URL#search-results-close-container
console.log(url.protocol);  // https:
console.log(url.host);      // developer.mozilla.org
console.log(url.hostname);  // developer.mozilla.org
console.log(url.port);      // (blank - https assumes port 443)
console.log(url.pathname);  // /en-US/search
console.log(url.search);    // ?q=URL
console.log(url.hash);      // #search-results-close-container
console.log(url.origin);    // https://developer.mozilla.org

4、Location的方法

Location沒有繼承任何方法,但實現了來自URLUtils的方法。

Location.assign()

加載給定URL的內容資源到這個Location對象所關聯的對象上。

Location.reload()

重新加載來自當前 URL的資源。他有一個特殊的可選參數,類型爲 Boolean,該參數爲true時會導致該方法引發的刷新一定會從服務器上加載數據。如果是 false或沒有制定這個參數,瀏覽器可能從緩存當中加載頁面。

Location.replace()

用給定的URL替換掉當前的資源。與 assign() 方法不同的是用 replace()替換的新頁面不會被保存在會話的歷史 History中,這意味着用戶將不能用後退按鈕轉到該頁面。

Location.toString()

返回一個DOMString,包含整個URL。 它和讀取URLUtils.href的效果相同。但是用它是不能夠修改Location的值的。

 

5、Location的總結

屬性    描述
hash 設置或獲取 href 屬性中在井號“#”後面的分段。
host    設置或獲取 location 或 URL 的 hostname 和 port 號碼。
hostname 設置或獲取 location 或 URL 的主機名稱部分。
href 設置或獲取整個 URL 爲字符串。
pathname  設置或獲取對象指定的文件名或路徑。
port 設置或獲取與 URL 關聯的端口號碼。
protocol  設置或獲取 URL 的協議部分。
search   設置或獲取 href 屬性中跟在問號後面的部分。


【參考資料】

MDN Web文檔Location接口:https://developer.mozilla.org/zh-CN/docs/Web/API/Location

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