使用 javascript 取得網址(url) 與 window.location 類別

標籤: javascript

一個網址的組成可以分成以下幾個部分:

protocol://host.domain/path/filename

其中 protocol 指的是通訊協定,常見的有 http, https, ftp,host.domain 指的是網域,而 path/filename 指的是路徑和檔案名稱。

若要使用 javascript 取得網址,是可以分別取得以上各部分的內容,使用方法如下:

window.location.href 取得目前造訪網頁的網址

window.location.protocol 取得目前造訪網頁的通訊協定(protocol)

window.location.host 取得目前造訪網頁的主機名稱(hostname), 包含port

window.location.hostname 取得目前造訪網頁的主機名稱(hostname)

window.location.pathname 取得目前造訪網頁的路徑(path)

window.location.hash 取得目前造訪網頁錨點(#)(hashtag)

window.location.port 取得目前造訪網頁的 port

window.location.search 取得目前造訪網頁 qeuery 參數,比如 ?a=test

 

另外 window.location 除了可以用來抓取 url 資料外,還可以用來導頁,使用方法如下:

window.location="http://example.com";
window.location.href="http://example.com";
location="http://example.com";
location.href="http://example.com";

 

或是使用以下方式:

window.location.assign("http://example.com");
window.location.replace("http://example.com");

 

要重新讀取頁面的話則是使用 window.location.reload(forceGet)

forceGet 是個布林值,預設為 false,代表只要從 cache 中重新載入就好,不需要再向 server 做 request;反之為true時,代表一定要再向server重新要資料。