hash 和pushState,replaceState
程序员文章站
2023-01-29 09:57:34
hash 要点: 1、不会向后台发请求;#是用来指导浏览器动作的,对服务器端完全无用。 2、用来跳转到页面的指定位置: 为网页位置指定标识符,有两个方法。一是使用锚点,比如,二是使用id属性,比如
。 3、hash改变,会产生一 ......
hash 要点:
1、不会向后台发请求;#是用来指导浏览器动作的,对服务器端完全无用。
2、用来跳转到页面的指定位置: 为网页位置指定标识符,有两个方法。一是使用锚点,比如<a name="print"></a>,二是使用id属性,比如<div id="print" >。
btn.onclick = function(){ window.location.hash = 'contDEF'; } //HTML中 <div id="contABC" style="width: 70px; border: 5px solid red; height: 500px;"></div> <div id="contDEF" style="width: 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中保存一些信息。
上一篇: 利用laravel+ajax实现文件上传功能方法示例
下一篇: 微信自定义分享
推荐阅读
-
简单聊聊H5的pushState与replaceState的用法
-
简单聊聊H5的pushState与replaceState的用法
-
HTML5 history新特性pushState、replaceState及两者的区别
-
一文了解vue-router之hash模式和history模式
-
php操作redis中的hash和zset类型数据的方法和代码例子
-
使用ajax和history.pushState无刷新改变页面URL示例
-
vue-router中的hash和history两种模式的区别
-
HTML5 history新特性pushState、replaceState及两者的区别
-
浅谈通过JS拦截 pushState和replaceState事件
-
PowerShell中定义哈希散列(Hash)和调用例子