html5 历史管理onhashchange和state
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<script>
window.onload=function(){
var oin=document.getElementById('input1');
var odiv=document.getElementById('div1');
var json={};
oin.onclick=function(){
/*随机获取num值*/
var num=Math.random();
/*获取随机7位数*/
var arr=randomNum(35,7);
/* 随机索引存arr随机7位数*/
json[num] =arr;
odiv.innerHTML=arr;
window.location.hash=num;
}
window.onhashchange=function(){
odiv.innerHTML=json[window.location.hash.substring(1)];
} function randomNum(iAll,iNow)
{
var arr=[];
var newArr=[];
for(var i=1; i<iAll; i++){
arr.push(i);
}
for(var i=0; i<iNow; i++)
{
newArr.push(arr.splice(Math.floor(Math.random()*arr.length),1));
}
return newArr;
}
}
</script>
<body>
<input type="button" value="随机选择" id="input1">
<div id="div1"></div>
</body>
</html>
随机数组的的索引存值
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<script>
window.onload=function(){
var oin=document.getElementById('input1');
var odiv=document.getElementById('div1');
oin.onclick=function(){
var arr=randomNum(35,7);
/*要存的数组*/
history.pushState(arr,'');
odiv.innerHTML=arr;
};
/*取数组的函数*/
window.onpopstate=function(ev)
{
odiv.innerHTML=ev.state;
} function randomNum(iAll,iNow)
{
var arr=[];
var newArr=[];
for(var i=1; i<iAll; i++){
arr.push(i);
}
for(var i=0; i<iNow; i++)
{
newArr.push(arr.splice(Math.floor(Math.random()*arr.length),1));
}
return newArr;
}
}
</script>
<body>
<input type="button" value="随机选择" id="input1">
<div id="div1"></div>
</body>
</html>
此方法只适合在服务器上使用
html5 历史管理onhashchange和state的更多相关文章
- HTML5历史管理
边看视频边做的练习,随机显示数字,分别使用history和hash来实现历史管理 <!doctype html> <html> <head> <meta ch ...
- html5 历史管理
1.onhashchange:改变hash值来进行历史管理. <!DOCTYPE html> <html> <head> <meta charset=&quo ...
- HTML5历史管理状态机制
前言:想要不刷新页面同时改变url 可以用HTML5 window对象的 hashChange 事件.同时介绍两个相关的api 和 1个事件. 两个API:1.history.pushState({n ...
- html5(历史管理)
<!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/h ...
- 历史管理 onhashchange
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 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在历史管理,选项卡自动跳转中的一点使用
在群里最近有人提到如何处理在页面跳转之后,想要直接定位到相对应的选项卡的选项上,比如首页有登录和注册两个按钮,而登录注册页面有一对选项卡分别对应的是登陆和注册,想要实现的功能是点击登陆去到登录页的登录 ...
随机推荐
- IO流
流的概念和作用 学习JavaIO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特 ...
- C#使用zxing,zbar,thoughtworkQRcode解析二维码,附源代码
最近做项目需要解析二维码图片,找了一大圈,发现没有人去整理下开源的几个库案例,花了点时间 做了zxing,zbar和thoughtworkqrcode解析二维码案例,希望大家有帮助. zxing是谷歌 ...
- JSONP跨域操作
JSP <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3. ...
- System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本问题
出错的原因: 1.虽然报的是需要安装客户端8.1.7及以上版本,实际是由于.NET账户没有访问Oracle\bin文件夹的权限 2.在 Windows Server 2003/2008 或Window ...
- POJ 3278 Catch That Cow(bfs)
传送门 Catch That Cow Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 80273 Accepted: 25 ...
- 使用charles V3.11.2 实现SSL抓包
首先,确认开启了SSL选项: 然后到Help->SSL Proxying里查看帮助; 根据提示,将android手机连接到局域网的wifi上,然后将wifi连接的代理设置为192.168.21. ...
- Hadoop MapReduce执行过程详解(带hadoop例子)
https://my.oschina.net/itblog/blog/275294 摘要: 本文通过一个例子,详细介绍Hadoop 的 MapReduce过程. 分析MapReduce执行过程 Map ...
- Table 表单样式
<style> table th { white-space: nowrap; background-color: #f5f5f5; height:30px; font-size:14px ...
- Arcgis, ArcEngine, Arcgis Server使用开发汇总 索引
ArcGIS系列软件license及安装: Arcgis SDE10.1 和 Arcgis server10.1的授权文件license tnt_esri.dat Arcgis8.1安装license ...
- App.config“配置系统未能初始化” 异常解决 C#
System.Configuration.ConfigurationManager.AppSettings["user"]; 时出现“配置系统未能初始化” 错误 解决办法: 如果配 ...