JavaScript 原生有處理頁面跳轉方法,因為基本上都是在全域的方式下使用,完整寫法為:
window.location.使用方法
,但因為是全域物件下使用,window
可以省略。
以下筆記幾個常用的。
href 取得當前網頁的網址
通常會使用指定的連結或是按鈕,常用於 function 內。
寫法為 location.href='網址路徑'
,
EX. location.href='https://hsuchihting.github.io/'
hostname 取得當前網頁的網域名稱
使用方法如下:
1 | location.hostname |
就是只要這麼短就可以取得目前網頁的網域名稱。
CodePen https://codepen.io/hnzxewqw/pen/gOraZLw
pathname 取得當前網頁的網址路徑
跟取得 hostname 的方法異曲同工,是取得目前網址。
1 | location.pathname |
CodePen https://codepen.io/hnzxewqw/pen/zYqvyNe
search 取得當前網頁的網址參數
如果沒有網址參數則會返回空字串,返回的參數包含問號 ?
。EX. ?參數
location.search
不僅可以用來讀取,還可以用來改變網址參數(會重新載入新網頁)。
1 | location.search |
CodePen https://codepen.io/hnzxewqw/pen/dyMYwWP
hash 取得當前網址的 hash 值
取得網址後面為 #
字號的值。
1 | location.hash |
CodePen https://codepen.io/hnzxewqw/pen/qBZOLPW
protocol 返回使用的 Web 協定
取得目前的網路協定。
1 | location.protocol |
CodePen https://codepen.io/hnzxewqw/pen/YzqydEq
assign() 載入新文件
location.assign()
方法跟 location.href
用法相近,可在當前視窗載入一個新的網頁。
語法:
1 | location.assign(url); |
用法:
1 | location.assign('https://hsuchihting.github.io/'); |
reload() 重新載入頁面
Location.reload()
方法可以用來重新整理網頁。
語法:
1 | location.reload(forcedReload); |
參數 forcedReload 是一個布林值 (boolean),如果是 true 用來強制瀏覽器從 server 取得最新的資料;預設是 false,會優先從瀏覽器暫存檔 (cache) 中取得網頁資料。
用法:
location.reload(true);
location.replace()
location.replace()
也是用來在當前視窗載入一個新的網頁,但和 location.assign()
的差別在於,使用此方法當前網頁的瀏覽紀錄 (History) 會被新的網頁取代掉,也就是讓使用者沒辦法按「上一頁」回去。
語法:
1 | location.replace(url); |
用法:
location.replace(‘https://hsuchihting.github.io/');