zoukankan      html  css  js  c++  java
  • hash 和pushState,replaceState

    hash 要点:

    1、不会向后台发请求;#是用来指导浏览器动作的,对服务器端完全无用。

    2、用来跳转到页面的指定位置:   为网页位置指定标识符,有两个方法。一是使用锚点,比如<a name="print"></a>,二是使用id属性,比如<div id="print" >。

    btn.onclick = function(){
     window.location.hash = 'contDEF';
    }
    //HTML中
    <div id="contABC" style=" 70px; border: 5px solid red; height: 500px;"></div>
    <div id="contDEF" style=" 70px; border: 5px solid red; height: 300px;"></div>

    3、hash改变,会产生一条历史记录。

    4、改变#不触发网页重载,(第一条,不会发送请求!只是客户端,因此也不重载)

    5、会触发onhashchange事件, 使用方法有以下几种:

     window.onhashchange = render
     window.addEventListener("hashchange", render, false);
    <body onhashchange="func();">

    PushState等

    1、pushState是添加一条历史记录,添加完后,可以使用history.state 读取;

    2、pushState和replaceState接受参数一样,({js对象}, title, url ) 其中title,浏览器不怎么支持,一般设为null, url是可选的。

    history.pushState({'abc':abc}, null, `#/${abc}/${def}`);  //通过设置url改变了hash的值,也可以改变search, 
    这样的话,url就改变了,因此,可以通过这种方式,在url中保存一些信息。
  • 相关阅读:
    dsaljkfgklj;asdfkjlsa
    aaaaaaaaa
    实验 7 综合练习 第三题
    实验 7 综合练习 第一题
    实验 7 综合练习 第四题
    实验 7 综合练习 第二题
    实验6 1
    实验 5-2
    实验5-1
    3-6
  • 原文地址:https://www.cnblogs.com/yadiblogs/p/9379894.html
Copyright © 2011-2022 走看看