首页前端开发HTML关于HTML5 history API 的介绍

关于HTML5 history API 的介绍

时间2024-01-23 12:08:42发布访客分类HTML浏览527
导读:收集整理的这篇文章主要介绍了关于HTML5 history API 的介绍,觉得挺不错的,现在分享给大家,也给大家做个参考。HTML5 history API介绍history是个全局变量,即window.history属性和方法如下:le...
收集整理的这篇文章主要介绍了关于HTML5 history API 的介绍,觉得挺不错的,现在分享给大家,也给大家做个参考。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 的介绍,更多相关内容请关注。

相关推荐:

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

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

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

以上就是关于HTML5 history API 的介绍的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

html5

若转载请注明出处: 关于HTML5 history API 的介绍
本文地址: https://pptw.com/jishu/584176.html
HTML5实现留言和回复的页面 新增HTML5的八类INPUT输入

游客 回复需填写必要信息