一個網址的組成可以分成以下幾個部分:
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重新要資料。