HTML5历史管理状态机制
前言:想要不刷新页面同时改变url 可以用HTML5 window对象的 hashChange 事件。同时介绍两个相关的api 和 1个事件。
两个API:
1.
history.pushState({name:'blog'},'','blog.html');此api会在history历史状态栈中添加一条记录。‘前进’ ‘后退’按钮可使用,并触发popstate事件。
接受3个参数:
第一个:详尽的状态信息。提供给popstate 事件的 事件对象的state属性(event.state );
第二个:新状态的标题,目前没有浏览器实现,可以传空字符串
第三个:相对url。(如果传入的地址是绝对地址,要求不能跨域,否则浏览器报错)
2.
与之相反的是另外一个api
history.repalceState({name:'blog'},'','blog.html');参数同此pushState 一样,唯一的区别是api不会在history历史状态栈中添加一条记录,只会重新当前状态。
一个事件
window 对象的 popstate事件,在按下‘前进’ ‘后退’按钮并触发。
小贴士:
在用pushState 创造‘假’url时,请确保 Web服务器上有一个真实存在的url与之对应。 否则刷新页面时会报 404错误。
HTML5历史管理状态机制的更多相关文章
- HTML5历史管理
边看视频边做的练习,随机显示数字,分别使用history和hash来实现历史管理 <!doctype html> <html> <head> <meta ch ...
- html5 历史管理
1.onhashchange:改变hash值来进行历史管理. <!DOCTYPE html> <html> <head> <meta charset=&quo ...
- html5 历史管理onhashchange和state
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- html5(历史管理)
<!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/h ...
- HTML5自学笔记[ 8 ]历史管理
触发历史管理的三种方法: 跳转页面 改变hash值 pushState(在服务器环境下运行) 用hash值来触发历史管理: <!doctype html> <html lang=&q ...
- 浅谈 HTML5 的 DOM Storage 机制 (转)
在开发 Web 应用时,开发者有时需要在本地存储数据.当前浏览器支持 cookie 存储,但其大小有 4KB 的限制.这对于一些 Ajax 应用来说是不够的.更多的存储空间需要浏览器本身或是插件的支持 ...
- Flink学习(三)状态机制于容错机制,State与CheckPoint
摘自Apache官网 一.State的基本概念 什么叫State?搜了一把叫做状态机制.可以用作以下用途.为了保证 at least once, exactly once,Flink引入了State和 ...
- 《图解HTTP》读书笔记(三:无状态协议/cookie管理状态)
HTTP是一种不保存状态,即无状态(stateless)协议.HTTP协议自身不对请求和响应之间的通信状态进行保存. ——HTTP/1.1虽然是无状态协议,但为了实现期望的保持状态功能,于是引入了Co ...
- Clipboard Action for Mac(智能剪贴板历史管理器)破解版安装
1.软件简介 Clipboard Action 是 macOS 系统上一款智能剪贴板历史管理器,它允许剪贴板历史中的每一段内容执行操作.使用 AppleScript 或 Automator 工作 ...
随机推荐
- ionic 创建服务命令
创建Util工具库 ionic g provider Util
- yum安装与卸载软件常见命令
1.使用yum安装和卸载软件,有个前提是yum安装的软件包都是rpm格式的. 安装的命令是,yuminstall ~,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突 ...
- 分布式锁 -- Java常用技术方案
来自博客园http://www.cnblogs.com/PurpleDream/p/5559352.html , 前言: 由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临解决分 ...
- Ubuntu 12.04 搭建TFTP服务器
吐槽先:在Ubuntu上搭建TFTP服务器,网上搜到一堆资料,可惜基本都是部分能用,至于哪些部分能用还要自己摸索着试出来,郁闷之情仅次于找不到任何资料…… ---------------------- ...
- 简单Arp欺骗
title date layout tags 简单arp欺骗 2018-05-08 post Python #-*- coding:utf-8 -*- from scapy.all import Et ...
- wios设置证书登陆
设置wios为密钥登陆set service ssh 'allow-root' set service ssh 'disable-password-authentication' //禁用密码登陆 s ...
- Linux主机下如何查询自己使用的公网IP
curl http://members.3322.org/dyndns/getip 可以解析出自己是使用哪个公网IP访问外网的
- Jquery和js实现cookie操作手机浮层广告;附加:js获取、添加、删除cookie
1.jquery cookie包实现手机上的浮层广告 <span style="font-size:18px;">$(document).ready(function( ...
- EROS安装(windows)
版本查看 基础环境安装 npm i eros-cli -g
- 使用 Git 删除本地仓库和远端仓库文件
使用 git bash 来删除 一.将文件(夹)添加到暂存区 这里假设本地和远端都有一个 test.txt 文件先在本地删除,通过 ·git status 查看通过git add test.txt 添 ...