js之添加浏览器历史记录

如何生成一条历史记录

  1. 简单粗暴的方法,直接在当前页面的地址栏中输入地址
  2. 点击页面中有a标签的href
  3. 执行location.href = ‘xxx’(location.replace(‘xxx’)生成一条记录取代当前指针所指向的记录)
  4. 表单提交跳转(注意只能跳到当前窗口)
  5. 使用pushState方法可以不刷新页面就可以生成一条历史记录,页面URL发生改变

简而言之,只要当页面的URL改变时,就会生成一条历史记录。在IE8及更高的版本中、Opera、Firefox、Chrome、Safari3及更高的版本中改变hash也会生成一条历史记录。

另外补充一下:

  最常用的方法 assign()方法可以立即打开新URL并且在浏览器历史记录中生成一个记录。其次,对于location.href 或 window.location设置一个url值,也会以该值调用一个assign()方法。

生成一条记录。

原文地址:https://www.cnblogs.com/YKingcc/p/9064405.html

时间: 2024-10-27 04:56:39

js之添加浏览器历史记录的相关文章

JS控制CSS3,添加浏览器兼容前缀

不同浏览器对于有些css3属性名字定义的时候,会带上特有的前缀,所以在css编写的时候,经常会一个属性写多个不同的前缀进行兼容.比如: div { transform: rotate(30deg); -ms-transform: rotate(30deg); /* IE 9 */ -webkit-transform: rotate(30deg); /* Safari and Chrome */ -o-transform: rotate(30deg); /* Opera */ -moz-trans

vsCode 添加浏览器调试和js调试的方法总结

vsCode 添加浏览器调试和js调试的方法 1.直接按F5可以调试的方法或者点击运行按钮(可以直接运行html文件或者js文件) 在launch.json文件中的配置如下: { "version": "0.2.0", "configurations": [{ "name": "谷歌浏览器", //运行html文件,用谷歌浏览器打开 "type": "chrome",

理解浏览器历史记录(2)- hashchange、pushState

本文也是一篇基础文章.继上文之后,本打算去研究pushState,偶然在一些信息中发现了锚点变化对浏览器的历史记录也会影响,同时锚点的变化跟pushState也有一些关联.所以就花了点时间,把这两个东西尽量都琢磨清楚.本文记录相关的一些要点及研究过程. 1. hashchange 这个部分的内容也已经补充到上文的最后了,这里只是细化一下.总的结论是:如果一个网页只是锚点,也就是location.hash发生变化,也会导致历史记录栈的变化:且变化相关的所有特性,都与上文描述的整个页面变化的特性相同

js原生添加事件的方式

js原生添加事件的方式: 1. 直接在html标签上添加 <div onclick="alert('div')">div</div> 2. 用dom的on...方法添加 document.getElementById('div').onclick = function () {alert('div')}; 3. 用addEventListener或attachEvent添加 document.getElementById('div').addEventListe

【原生js】js动态添加dom,如何绑定事件

首先要明白浏览器在加载页面的时候是按顺序来加载的,这样以来就很清楚了,js动态添加dom以后,这些dom并没有绑定事件,这个时候最简单的一个办法就是:将绑定事件的方法封装到一个函数A中,在动态添加完dom以后立即执行一次函数A即可. 需要注意的是,在你可能同事需要添加许多的dom,不要添加一个就执行一次函数A,这样会增加浏览器的负载,你需要在所有dom添加完以后在执行函数A,例如你用一个for循环遍历dom组合并拼接成一个字符串,然后添加到某个父级dom里面,这个时候你需要在循环外添加一次就可以

每天都有新发现——如何优雅的用js动态添加html代码

body { font-family: 微软雅黑,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5; } html, body { } h1 { font-size:1.5em; font-weight:bold; } h2 { font-size:1.4em; font-weight:bold; } h3 { fon

form表单 无法提交js动态添加的表单元素问题。。

第一种情况, 这种情况js动态添加的表单元素是不能提交到服务器端的 <table> <form method="post" action=" url  "> <tr><td></td><td></td></tr> <tr><td></td><td></td></tr> </form> &l

360极速浏览器UA怪异以及如何用js判断360浏览器

本文最后一次更新于7个月前,文章内容可能略有出入.若发现文章中有错误之处,可以留言评论告诉作者. 1.360极速浏览器UA因域名不同而异 今天在写一个判断浏览器.浏览器版本.操作系统.操作系统版本.浏览器外壳的js,去http://hao.360.cn/sethomepage.html网站看看他们的js是如何写的,始终不知道他们是如何通过js来判断浏览器是360极速的,这不看不知道,一看吓一跳. 在http://hao.360.cn/sethomepage.html这个网址访问的时候,获得浏览器

webpack通过postcss-loader添加浏览器前缀

在webpack中,我们可以很方便的使用autoprefixer来为css3属性添加不同的浏览器前缀. 首先,需要安装autoprefixer不用多说了,其次是安装postcss-loader(npm install --save-dev postcss-loader) 接下来在webpack.config.js文件里添加如下代码(红圈部分): 接下来,在webpack.config.js的同级目录下新建postcss.config.js文件,配置如下: module.exports = { p