<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <button id="openWindow"> 打开新窗口 </button> <button id="hrefSwitchUrl"> 采用href 转换本页面的Url </button> <button id="replaceSwitchUrl"> 采用replace 转换本页面的Url </button> <button id="reload"> 采用reload 强迫浏览器刷新当前页面 </button> <button id="back"> 通过浏览器返回之前的页面代码的实现 </button> <p> location.href='http://www.xxx.com/';和location.replace('http://www.xxx.com/'); </p> <p>两者的不同之处是前者会在浏览器的历史浏览记录(history对象中增加一条新的记录,而后者则是相当于用replace中的url代替了现有的页面url,并把history中的url也替换为重定向后的url。</p> <p>理解浏览器的历史记录:http://web.jobbole.com/88312/</p> </body> <script> document.getElementById("openWindow").addEventListener("click",function (ev) { window.open(window.location.href); }) document.getElementById("hrefSwitchUrl").addEventListener("click",function (ev) { window.location.href="http://www.baidu.com"; }) document.getElementById("replaceSwitchUrl").addEventListener("click",function (ev) { window.location.replace("http://www.baidu.com"); }) document.getElementById("reload").addEventListener("click",function (ev) { window.location.reload("http://www.baidu.com");// 可选参数,默认为false }) document.getElementById("back").addEventListener("click",function (ev) { window.history.back(-1); }) </script> </html>