html5 历史管理
1、onhashchange:改变hash值来进行历史管理。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<input type="button" value="随机选择" id="btn" />
<div id="div1"></div>
</body>
</html>
<script>
window.onload = function(){
var oBtn = document.getElementById("btn");
var oDiv = document.getElementById("div1");
window.json = {};
oBtn.onclick = function(){
var key = Math.random();
var value = randomNum(35,7);
json[key] = value;
//oDiv.innerHTML = value;
window.location.hash = key;
} window.onhashchange = function(){
var hashValue = window.location.hash.substring(1);
if(!hashValue)return;
oDiv.innerHTML = json[hashValue];
}
} function randomNum(totlaNum,resultNum){
var totalArray = new Array();
var resultArray = new Array();
for(var i = 0 ;i < totlaNum;i++){
totalArray.push(i);
} for(var i = 1; i<= resultNum;i++){
resultArray.push(totalArray.splice(Math.floor(Math.random()*totalArray.length),1));
}
return resultArray;
}
</script>
2、history+pushState+ popstate事件:需要在服务器下运行。网址是虚假的,需要服务器指定对应页面,否则刷新找不到页面。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<input type="button" value="随机选择" id="btn" />
<div id="div1"></div>
</body>
</html>
<script type="text/javascript">
window.onload = function(){
var oBtn = document.getElementById("btn");
var oDiv = document.getElementById("div1");
window.json = {};
oBtn.onclick = function(){
var value = randomNum(35,7);
//pushState接收三个参数 :数据 标题(都没实现) 地址(可选)
window.history.pushState(value,"");
oDiv.innerHTML = value;
} window.onpopstate = function(ev){
oDiv.innerHTML = ev.state;
} } function randomNum(totlaNum,resultNum){
var totalArray = new Array();
var resultArray = new Array();
for(var i = 0 ;i < totlaNum;i++){
totalArray.push(i);
} for(var i = 1; i<= resultNum;i++){
resultArray.push(totalArray.splice(Math.floor(Math.random()*totalArray.length),1));
}
return resultArray;
}
</script>
html5 历史管理的更多相关文章
- HTML5历史管理
边看视频边做的练习,随机显示数字,分别使用history和hash来实现历史管理 <!doctype html> <html> <head> <meta ch ...
- HTML5历史管理状态机制
前言:想要不刷新页面同时改变url 可以用HTML5 window对象的 hashChange 事件.同时介绍两个相关的api 和 1个事件. 两个API:1.history.pushState({n ...
- 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 ...
- Clipboard Action for Mac(智能剪贴板历史管理器)破解版安装
1.软件简介 Clipboard Action 是 macOS 系统上一款智能剪贴板历史管理器,它允许剪贴板历史中的每一段内容执行操作.使用 AppleScript 或 Automator 工作 ...
- html5 - history 历史管理
参考文章: w3c : http://www.w3.org/html/ig/zh/wiki/HTML5/history 张鑫旭 : http://www.zhangxinxu.com/wo ...
- 关于HTML5中hash部分API在历史管理,选项卡自动跳转中的一点使用
在群里最近有人提到如何处理在页面跳转之后,想要直接定位到相对应的选项卡的选项上,比如首页有登录和注册两个按钮,而登录注册页面有一对选项卡分别对应的是登陆和注册,想要实现的功能是点击登陆去到登录页的登录 ...
- pjax 历史管理 jQuery.History.js
更新 http://www.bootcdn.cn/jquery.pjax/ 简介 pjax是一个jQuery插件,使用ajax和pushState技术提供快速的浏览体验与真正的永久链接.网页标题.以及 ...
随机推荐
- How an SSL connection is established
An SSL connection between a client and server is set up by a handshake, the goals of which are: To s ...
- js的一些老司机写法
//取整 parseInt(a,10); //Before Math.floor(a); //Before a>>0; //Before ~~a; //After a|0; //After ...
- demo_static_resrouce
环境 win10 + webstorm 2019.1.3 + node 12.x + yarn 实现的的功能 基本的js打包(支持规范:ES6 module | requirejs | commonj ...
- Centos7下mysql的主从配置
最近,有朋友业务并发量比较大,让我帮他配置个主从,来缓解数据库的压力.下面就是我配置的,有需要的朋友可以借鉴下. 首先,我得到2台服务器: 172.18.2.142(主) 172.18.2.141(从 ...
- 57 和为S的数字
题目一:和为S的两个数字 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的. 输出描述: 对应每个测试案例,输出两个数,小 ...
- 25.TF&IDF算法以及向量空间模型算法
主要知识点: boolean model IF/IDF vector space model 一.boolean model 在es做各种搜索进行打分排序时,会先用boolean mo ...
- vue 使用echarts
import echarts from 'echarts' <div id="kocGrow" style="width: 600px;height: 300p ...
- BUPT2017 wintertraining(16) #9
龟速补题.目前基本弃坑.已暂时放弃 D.I 两题. 下面不再写题意了直接说解法注意事项之类,直接放contest链接. https://vjudge.net/contest/151537 A.The ...
- Grails里的集成测试代码试例
测试的命令,3和2不一样了,要找找.. User.groovy package com.grailsinaction class User { String loginId String passwo ...
- Sunnypig闯三角关
背景 贪玩的sunnypig请Charles为他打造一个奇幻世界,Charles欣然答应了.然而一向善于出难题的Charles是决不会轻易让sunnypig轻松拥有一个奇幻世界的,于是Charles在 ...