2014年9月2日 星期二

Javascript 之 location.href 和 location.replace 的差異

在 JavaScript 中若要撰寫網頁轉址程式非常容易,只要使用 location.href 便可達成,而其實還有另外一個 location.replace 可用,究竟這兩者間有什麼差別呢? 今天我就來簡單說說它們之間的差異。

首先來看看 location.href 的用法:
  1. location.href = "https://www.google.com.tw/";  

再來看看 location.replace 的用法:
  1. location.replace( "https://www.google.com.tw/");  

大家會發現其實這兩種做法執行結果看起來是一樣的,但其實主要的差別在於瀏覽器是否會送出 Referer 這個 HTTP Header,通常瀏覽器會紀錄連結的歷史紀錄 (可以讓使用者做上、下一頁的切換),而 location.href 會送出 Referer 這個 HTTP Header 而 location.replace 則不會,因此無法做上下一頁的切換,至於瞭解差異後,要怎麼使用這兩者的特性就看需求囉!

沒有留言:

張貼留言