DOM window 对象通过history对象提供了对浏览器历史的访问。

跳转属性

back(): 向后跳转

forward(): 向前跳转

go(): 跳转至第n页

// 在history中向后跳转

window.history.back();

window.history.go(-1);

// 向前跳转

window.history.forward();

window.history.go(1);

// 当前页

window.history.go(0);

添加和修改历史记录中的条目

pushState(状态对象,标题(可为空),URL(可选的)):记录历史记录

window.onpopstate:触发 调用历史记录

Document

*{

margin: 0;

padding: 0;

}

.body{

background: gray;

}

#box{

width: 800px;

height: 400px;

background-color: #ddd;

margin: 100px auto;

display: flex;

justify-content: space-around;

align-items: center;;

}

ul{

width: 200px;

height:300px;

border: 1px solid #fff;

border-bottom: none;

}

li{

list-style: none;

line-height: 100px;

border-bottom: 1px solid #fff;

text-align: center;

}

#con{

width: 500px;

height: 300px;

border: 1px solid#fff;

}

var list = document.getElementById('list');

var con = document.getElementById('con');

var json = {

'小米': '小米商城',

'华为':'华为商城',

'苹果': '苹果商城'

};

var str = '';

var arr = [];

for (var key in json) {

str +='

' + key + '';

arr.push(json[key])

}

list.innerHTML = str;

console.log('arr',arr);

//以上完成渲染数据

var lis = list.querySelectorAll('li');

for (var i = 0; i < arr.length; i++) {

lis[i].index = i;

console.log('lis',lis[i]);

lis[i].onclick = function () { // 实现点击切换

con.innerHTML = arr[this.index];

window.history.pushState(arr[this.index],'',this.dataset['name']);

}

}

window.onpopstate = function (e) {

console.log('11')

var e = e || e.target;

console.log(e)

con.innerHTML = e.state;

}

案例:tab切换,记录内容

image.png

image.png

image.png

历史记录html页面,HTML5 history 页面历史记录相关推荐

  1. html对话框跳转页面,html5各种页面切换效果和模态对话框用法总结

    这篇文章主要为大家介绍了html5各种页面切换效果和模态对话框用法总结,较为详细的介绍了HTML5的各种页面元素的使用技巧,非常具有实用价值,需要的朋友可以参考下 本文详细总结了html5各种页面切换 ...

  2. html如何添加子页面,html5 父页面调用子页面js方法

    父页面代码: var randid=result.rows.item(0)['id']; plus.webview.close("test_order_detail");//创建之 ...

  3. html5 history解决ajax不能加入历史记录的问题

    2019独角兽企业重金招聘Python工程师标准>>> 最近抽空研究了html5 history,并写了个小测试,由于只在前端展示,我把对于ajax的处理换为了简单的JS事件,直接复 ...

  4. php修改浏览器地址,HTML5 history API改变浏览器地址无需hash和刷新加载页面

    现在很多网站的前端做的非常炫,点击某个链接瞬间改变浏览器的地址栏的地址,改变的方式不是使用锚点,而是直接改变 URL,页面稍后局部加载完成.如果直接复制页面地址在新的浏览器选项卡中打开则是全部加载整个 ...

  5. History操作历史记录

    History操作历史记录 Window.history.back()后退 Window.history.forward()前进 Window.history.go(-1)后退 为1为前进 页面一: ...

  6. 阻止微信后退,阻止微信页面关闭 history.pushState 无刷新改变页面URL

    阻页面后退 防止页面关闭 <!DOCTYPE html> <html> <head><title>阻止微信后退按钮</title> < ...

  7. 手机 html5 返回 页面不刷新,微信自带浏览器物理返回不刷新问题

    问题描述与需求 非单页面应用: 在页面A,通过get方式进入页面B之后再回到页面A,这个时候微信iOS版页面不刷新,安卓版微信刷新页面 ---> 所有物理返回都必须强制刷新重新进入页面: 在页面 ...

  8. HTML5手机页面里面如何把长按复制避免

    在写HTML5手机页面的时候,有时候会写到一些标签是需要用户长按然后放开的 但是微信里面长按就会出现复制,大大影响了用户体验,那么如何可以避免呢? 我也是最近写到这样的页面,总结了一部分,大家可以作为 ...

  9. 玩转HTML5移动页面

    (1) 动画雪碧图 涉及的动画十分多,用的元素也十分多,请务必使用雪碧图(Sprite)! 网上的工具有一些可以帮助你生成雪碧图的工具,例如CssGaga,GoPng等等,自动化构建工具Grunt和G ...

  10. vue 单页面(SPA) history模式调用微信jssdk 跳转后偶尔 “invalid signature“错误解决方案

    vue 单页面(SPA) history模式调用微信jssdk 跳转后偶尔 "invalid signature"错误解决方案 参考文章: (1)vue 单页面(SPA) hist ...

最新文章

  1. Spring Cloud Feign的文件上传实现
  2. ZOJ 1410 题解
  3. C语音和易语言实现内存补丁
  4. c++ 使用nacos_《Nacos系列》之注册中心
  5. 怎么用python编写个apk_新手用tkinter写了一个APK提取工具
  6. STM32 - CubeMX 的使用实例详细(01.1)- ST-LINK V2 的配置
  7. const与指针变量
  8. 【Elasticsearch】关于 Analyzers 的一切,第一部分
  9. zabbix系统日志文件监控key
  10. xml配置javaBean的IOC实现示例
  11. win7关闭开机启动项_电脑开机非常慢?原来是有软件偷偷自启动,教你一招彻底关闭它们...
  12. Spring,Mybatis,Springmvc框架整合项目(第一部分)
  13. 一、瞰景Smart3D软件介绍
  14. idc机房运维巡检_IDC机房运维心得
  15. 删除下拉框只找23火星软件_下拉框首选28火星软件
  16. 2022年数学建模比赛时间大全及报名费
  17. 机器学习算法在退行性颈椎和腰椎疾病中的应用:一项系统综述
  18. 怎样提交新站的网址给搜索引擎?史上最新最全的网站提交地址
  19. 19 Python __dict__与dir()区别
  20. 《动手学深度学习》task3_3 循环神经网络进阶

热门文章

  1. DHT11温湿度传感器
  2. C#毕业设计——基于C#+ASP.NET+SQL Server的酒店入住信息管理系统设计与实现(毕业论文+程序源码)——酒店入住信息管理系统
  3. 全国计算机二级证书NO00000,计算机二级成绩查询
  4. ios 开发者论坛和资料站点
  5. 信号与系统——抽样信号的傅里叶变换
  6. SpringCloud Day05---服务网关(Gateway)
  7. Excel批量自动填充行号
  8. (超详细笔记整理)动力节点_老杜 | JavaSE进阶 【P486之后】
  9. 5.13 利用图层的矢量蒙版打造浪漫情调 [原创Ps教程]
  10. EMQ X 工业物联网解决方案