- ES6 教程
- ES6 - 首頁
- ES6 - 概述
- ES6 - 環境
- ES6 - 語法
- ES6 - 變數
- ES6 - 運算子
- ES6 - 決策
- ES6 - 迴圈
- ES6 - 函式
- ES6 - 事件
- ES6 - Cookie
- ES6 - 頁面重定向
- ES6 - 對話方塊
- ES6 - Void 關鍵字
- ES6 - 頁面列印
- ES6 - 物件
- ES6 - 數字
- ES6 - 布林值
- ES6 - 字串
- ES6 - Symbol
- ES6 - 新的字串方法
- ES6 - 陣列
- ES6 - 日期
- ES6 - 數學
- ES6 - 正則表示式
- ES6 - HTML DOM
- ES6 - 迭代器
- ES6 - 集合
- ES6 - 類
- ES6 - Map 和 Set
- ES6 - Promise
- ES6 - 模組
- ES6 - 錯誤處理
- ES6 - 物件擴充套件
- ES6 - Reflect API
- ES6 - Proxy API
- ES6 - 驗證
- ES6 - 動畫
- ES6 - 多媒體
- ES6 - 除錯
- ES6 - 圖片地圖
- ES6 - 瀏覽器
- ES7 - 新特性
- ES8 - 新特性
- ES9 - 新特性
- ES6 有用資源
- ES6 - 快速指南
- ES6 - 有用資源
- ES6 - 討論
ES6 - 頁面重定向
重定向是一種將使用者和搜尋引擎從他們最初請求的URL傳送到另一個URL的方法。頁面重定向是一種自動將一個網頁重定向到另一個網頁的方法。重定向的頁面通常在同一個網站上,也可以在不同的網站或Web伺服器上。
JavaScript 頁面重定向
window.location 和 window.location.href
在JavaScript中,您可以使用多種方法將一個網頁重定向到另一個網頁。幾乎所有方法都與window.location物件相關,該物件是Window物件的屬性。它可以用來獲取當前的URL地址(網址)以及將瀏覽器重定向到新頁面。就行為而言,這兩種用法相同。window.location返回一個物件。如果未設定.href,則window.location預設為更改引數.href。
示例
<!DOCTYPE html>
<html>
<head>
<script>
function newLocation() {
window.location = "http://www.xyz.com";
}
</script>
</head>
<body>
<input type = "button" value = "Go to new location" onclick = "newLocation()">
</body>
</html>
location.replace()
另一個最常用的方法是window.location物件的replace()方法,它將用新的文件替換當前文件。在replace()方法中,您可以傳遞一個新的URL給replace()方法,它將執行HTTP重定向。
以下是相同的語法。
window.location.replace("http://www.abc.com
location.assign()
location.assign()方法在瀏覽器視窗中載入一個新的文件。
以下是相同的語法。
window.location.assign("http://www.abc.org");
assign() vs. replace()
assign()和replace()方法的區別在於,location.replace()方法會刪除文件歷史記錄中的當前URL,因此無法返回到原始文件。在這種情況下,您無法使用瀏覽器的“後退”按鈕。如果您想避免這種情況,應該使用location.assign()方法,因為它會在瀏覽器中載入一個新的文件。
location.reload()
location.reload()方法重新載入瀏覽器視窗中的當前文件。
以下是相同的語法。
window.location.reload("http://www.yahoo.com");
window.navigate()
window.navigate()方法類似於為window.location.href屬性賦值一個新值。因為它只在MS Internet Explorer中可用,所以您應該避免在跨瀏覽器開發中使用它。
以下是相同的語法。
window.navigate("http://www.abc.com");
重定向和搜尋引擎最佳化
如果您想通知搜尋引擎 (SEO) 您的URL轉發,您應該將rel = "canonical"元標記新增到您的網站頭部,因為搜尋引擎不會分析JavaScript來檢查重定向。
以下是相同的語法。
<link rel = "canonical" href = "http://abc.com/" />