本文摘自PHP中文网,作者jacklove,侵删。
HTML5 history API介绍history是个全局变量,即window.history
属性和方法如下:
length:历史堆栈中的记录数。
back(): 返回上一页。
foward(): 前进到下一页。
go([delta]): delta是数字,如果为0或为空则刷新本页,如果正数则前进[delta]页,如负数则后退[delta]页。
HTML5添加了以下两个方法:
pushState(data, title, [,url]):在历史堆栈顶部插入一条记录。
data为一个对象或null,会在window的popstate事件(window.onpopstate)时,作为state参数传递过去。
title为页面的标题,当前所有浏览器都忽略这个参数。
url 为页面url,不写则为当前页。
replaceState(data, title, [,url]):更改当前页面的历史记录。这种更改不会去访问该URL。
replaceState()的URL参数必须和当前页的协议(如HTTP、HTTPS)和域名完全相同(使用不同的子域都不行)
目前只有Safari 5.0+、Chrome 8.0+、Firefox 4.0+和iOS 4.2.1+支持。如果想兼容老浏览器的话,可以试试History.js,而且它还修正了一些bug。
pushState 与 replaceState 使用:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | <?php
$photo = isset( $_GET [ 'id' ])? $_GET [ 'id' ] : 1;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" >
<html>
<head>
<meta http-equiv= "content-type" content= "text/html; charset=utf-8" >
<title>test</title>
<script type= "text/javascript" >
function go(c){
document.title = 'test' + c;
window.history.pushState({ 'title' : 'test' +c, 'photo' :c}, 'test' +c, 'test.php?id=' +c);
window.history.replaceState({ 'title' : 'test' +c, 'photo' :c}, 'test' +c, 'test.php?id=' +c);
document.getElementById( "photo" ).src = c + '.jpg' ;
}
window.onpopstate = function (obj){
if (obj.state!=null){
document.title = obj.state.title;
document.getElementById( "photo" ).src = obj.state.photo + '.jpg' ;
}
}
</script>
</head>
<body>
<p>
<a href= "javascript:void(0)" onclick= "go(1)" >page 1</a>
<a href= "javascript:void(0)" onclick= "go(2)" >page 2</a>
<a href= "javascript:void(0)" onclick= "go(3)" >page 3</a>
<a href= "javascript:void(0)" onclick= "go(4)" >page 4</a>
</p>
<p><img src= "<?=$photo ?>.jpg" id= "photo" ></p>
</body>
</html>
|
window.onpopstate方法:
1 2 3 | window.onpopstate = function (event){
alert(event.state);
}
|
本篇文章关于HTML5 history API 的介绍,更多相关内容请关注php中文网。
相关推荐:
关于冒泡,二分法插入,快速排序算法的介绍
讲解php 支持断点续传的文件下载类的相关内容
如何通过php 过滤html标记属性类
以上就是关于HTML5 history API 的介绍的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
HTML5实现微信播放全屏的方法详解
详解HTML5 placeholder属性
HTML5是什么?HTML5有什么用?
HTML5 canvas的基本用法介绍
HTML5 localstorage知识点总结
HTML5通过postmessage进行跨域通信的方法
你有认真学习HTML5吗?那么你应该读的书都在这里了
HTML5表单元素实例讲解
详解h5的自定义属性data-*
自己动手打造HTML5星际迷航的示例代码分享
更多相关阅读请进入《HTML5》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » 关于HTML5 history API 的介绍