最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

关于HTML5historyAPI的介绍

来源:动视网 责编:小采 时间:2020-11-27 15:05:30
文档

关于HTML5historyAPI的介绍

关于HTML5historyAPI的介绍:HTML5 history API介绍history是个全局变量,即window.history属性和方法如下:length:历史堆栈中的记录数。back(): 返回上一页。foward(): 前进到下一页。go([delta]): delta是数字,如果为0或为空则刷新本页,如果正数则前进[delta]页,如负
推荐度:
导读关于HTML5historyAPI的介绍:HTML5 history API介绍history是个全局变量,即window.history属性和方法如下:length:历史堆栈中的记录数。back(): 返回上一页。foward(): 前进到下一页。go([delta]): delta是数字,如果为0或为空则刷新本页,如果正数则前进[delta]页,如负


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 的介绍,更多相关内容请关注Gxl网。

相关推荐:

关于冒泡,二分法插入,快速排序算法的介绍

讲解php 支持断点续传的文件下载类的相关内容

如何通过php 过滤html标记属性类

文档

关于HTML5historyAPI的介绍

关于HTML5historyAPI的介绍:HTML5 history API介绍history是个全局变量,即window.history属性和方法如下:length:历史堆栈中的记录数。back(): 返回上一页。foward(): 前进到下一页。go([delta]): delta是数字,如果为0或为空则刷新本页,如果正数则前进[delta]页,如负
推荐度:
标签: 介绍 API html5
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top