您好,登录后才能下订单哦!
这篇“HTML5中history API的示例分析”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“HTML5中history API的示例分析”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们进入主题吧。
html的全称为超文本标记语言,它是一种标记语言,包含了一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体,html文本是由html命令组成的描述性文本,html命令可以说明文字,图形、动画、声音、表格、链接等,主要和css+js配合使用并构建优雅的前端网页。
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 使用:
<?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; //更改title 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; // 后退时更新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方法:
window.onpopstate = function(event){ alert(event.state); }
以上是“HTML5中history API的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。