location.href 是指網頁跳轉,有以下幾個用法:
window.location.href="/url"當前頁面打開URL頁面 ?以下三個方法一樣
self.location.href="/url" 當前頁面打開URL頁面
location.href="/url" 當前頁面打開URL頁面
parent.location.href="/url" 在父頁面打開新頁面
top.location.href="/url" 在頂層頁面打開新頁面
此外,window.location.href=window.location.href;和window.location.Reload()都是刷新當前頁面。區別在于是否有提交數據。當有提交數據時,window.location.Reload()會提示是否提交,window.location.href=window.location.href;則是向指定的url提交數據。
舉個例子:
如果a頁面是b頁面的父頁面,b是c頁面的父頁面,c是d頁面的父頁面
在d頁面中寫,location.href=''d頁面跳轉
parent.location.href = '' c頁面跳轉
top.location.href = '' ?a頁面跳轉
如果d頁面中存在表單
target='': form提交后D頁面跳轉
target='_blank': form提交后彈出新頁面
target='_parent': form提交后C頁面跳轉
target='_top': form提交后A頁面跳
下面再來說location.replace
location.replace 是替換當前頁面,如果a頁面 跳轉到 b頁面 ?b頁面 寫location.replace(c) 當點擊返回按鈕時,就會回到a頁面,換句話說,location.replace 是清除了本頁面的訪問記錄,直接回到上一個頁面
如果是 b頁面href到c頁面的話,按c頁面的回退按鈕,會回到b頁面