转载声明:http://blog.csdn.net/lyh_951128/article/details/50568442
history.replaceState是将指定的URL替换当前的URL
注意:用于替换掉的URL必须是同域的
示例:
先保存三个页面
goto1.HTML
[HTML] view plain copy <!DOCTYPE HTML> <HTML lang="en"> head Meta charset="UTF-8" Title>goto1</bodyh1>这是goto1a href='goto2.HTML'>去2aHTML>
goto2.HTML
copy >
> >goto2>这是goto2a href='goto3.html'>去3script history.replaceState({}, "goto1", "goto1.html");//将该页面的url替换为goto1.html,而不刷新页面 >goto3.html
copy pre name="code" class="html"><!DOCTYPE html>goto3>这是goto3>
先从goto1点击链接进入goto2,goto2点链接进入goto3;
此时点击浏览器的后退键应该返回到goto2,然而由于我们已经用
history.replaceState({},"goto1","goto1.html");将goto2的url历史记录换成goto1;
所有从goto3点击后退直接返回到了goto1页面;这里的goto1也可以换成所有你想要用户返回的页面
奉上个人封装的一个控制返回小函数
[javascript] copy var url='goto1'; var param=new Object(); param.userID='123'; param.status='1';//最后得到path=goto1.HTML?userID=123&status=1 ; function changeBackUrl(url,param){ //url表示链接地址 if(typeof(param)=='object'){ param=JsON.stringify(param).replace(/\{|\}|\"|\'/g,'').replace(',','&').replace(/:/g,'='); }else{ try{ param=param.toString().replace(',','&').replace(/:/g,'=').replace(/\"|\'/g,''); }catch(e){''} } var path=+url+".HTML?"+param; history.replaceState(null, }
总结
以上是内存溢出为你收集整理的history.replaceState 控制返回全部内容,希望文章能够帮你解决history.replaceState 控制返回所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)