和上篇文章的screen和navigator一樣,location和history也是window下的對象色罚,location對象包含當前頁面的導航信息速客,history對象包含歷史記錄。
Location對象
window.location 對象用于獲得當前頁面的地址 (URL)坎穿,也可以把瀏覽器重定向到新的頁面顷牌,使用的時候可以不帶window剪芍。下面代碼我們在控制臺打印一下location
console.log(location);//Location{...}
一些常見屬性:
- location.hostname - 返回 web 主機的域名
- location.pathname - 返回當前頁面的路徑和文件名
- location.port - 返回 web 主機的端口
- location.protocol - 返回所使用的 web 協(xié)議
- location.href - 返回當前頁面URL
console.log(location.hostname);//
console.log(location.pathname);//
console.log(location.port);//
console.log(location.protocol);//
console.log(location.href);//
如果是本地靜態(tài)文件,則可能沒有上述數(shù)據(jù)窟蓝,我們可以打開一個網站罪裹,再從控制臺輸出上面的數(shù)據(jù)。
加載重定向
使用location對象运挫,我們可以將當前頁面定向到別的頁面状共,這只需設置location.href = "url"
。另外location.assign(url)
和location.replace(url)
兩個方法也可以加載新的頁面
location.;
//location.assign("https://www.baidu.com/");
//location.replace("https://www.baidu.com/");
location.assign(url)相當于鏈接跳轉滑臊,location.replace(url)則是取代當前頁面口芍。
History對象
window.history 對象包含瀏覽器的歷史,window.history對象在編寫時可不使用 window 這個前綴雇卷。
console.log(history);//History{...}
屬性和方法:
history.length - 返回當前標簽頁歷史記錄長度
history.back() - 后退(相當于點擊瀏覽器后退按鈕)
history.forward() - 前進(相當于點擊瀏覽器前進按鈕)
history.go() - 前進或者后退(參數(shù)為負數(shù)后退鬓椭,正數(shù)前進颠猴,0表示刷新當前頁面)
console.log(history.length);//歷史記錄長度
history.back();//后退一頁
//history.forward();//前進一頁
//history.go(-1);//后退一頁