location.href和location.replace()區別
本章節介紹一下標題中兩個概念的區別,希望能夠給需要的朋友帶來一定的幫助。
通過這種方式來實現url的跳轉功能,在表面上看效果是一樣的,其實內在的區別還是很大的。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script> window.onload=function(){ var btOne=document.getElementById("one"); var btTwo=document.getElementById("two"); btOne.onclick=function(){ location.href="http://www.softwhy.com"; } btTwo.onclick=function(){ location.replace("http://www.softwhy.com"); } } </script> </head> <body> <input type="button" id="one" value="loaction.href"/> <input type="button" id="two" value="replace"/> </body> </html>
上面的程式碼演示兩種方式實現頁面的跳轉,下面介紹一下兩者的區別。
特別說明:請將程式碼複製到本地測試,在本編輯器可能無法測試正確的效果。
如果使用location.href,那麼我們可以使用瀏覽器的返回按鈕回到之前的頁面,截圖如下:
如果使用loaction.replace()方式,那麼則無法使用返回按鈕,截圖如下:
下面說明一下原因:
訪問頁面的時候通常會在本地有快取,使用location.href方式,只是開啟一個新的頁面,在歷史記錄中追加一條。
但是使用location.replace()方法,它會替換上一個頁面在本地的快取,自然就不會使用返回上一頁了。
相關文章
- 和區別
- ../和./和/的區別
- javascript獲取location.href引數JavaScript
- if …if 和if …else if 區別
- 和 的區別
- as 和 with的區別
- in 和 exists區別
- ||和??的區別
- /*和/**的區別
- LinkedList和ArrayList的區別、Vector和ArrayList的區別
- http和https的區別/get和post的區別HTTP
- undefined 和 null 區別?UndefinedNull
- SSL和TLS 區別TLS
- ./ 和sh 的區別
- JQuery this和$(this)的區別jQuery
- jquery $(this) 和this的區別jQuery
- ClassNotFoundException和NoClassDefFoundError區別ExceptionError
- T和?的區別
- SCSS 和 SASS 區別CSS
- innerHTML 和 innerTEXT 區別HTML
- null和undefined區別NullUndefined
- url和uri區別
- get和post區別
- ++a和a++的區別
- NoClassDefFoundError和ClassNotFoundException區別ErrorException
- $(":input")和$("input")區別
- $(document)和$(window)區別
- input和textarea區別
- localStorage和sessionStorage區別Session
- Session 和 Cookie 區別SessionCookie
- jQuery not()和filter()區別jQueryFilter
- define和defined區別
- restore和recover 區別REST
- memcache和redis區別Redis
- Antelope 和Barracuda區別
- a :hover 和a:hover 區別
- Forword和SendRedirect區別
- rbegin 和 end 區別