zoukankan      html  css  js  c++  java
  • pageshow和pagehide事件

     Firefox和opera有一个特性,往返缓存:可以在用户使用浏览器的后退和前进按钮时加快页面的转换速度,这个缓存不仅保存了页面的数据,还有DOM和JavaScript的状态。

    为了更形象的说明bfcache的行为,Firefox提供了新事件:

    虽然这些事件的目标是document,但是必须把事件处理程序添加到window上。 

    实例:

    (function(EventUtil){
                var showCount = 0;
                EventUtil.addHandler(window, 'load', function(){
                    alert('Load fired');
                });
                EventUtil.addHandler(window, 'pageshow', function(event){
                    event = EventUtil.getEvent(event);
                    showCount++;
                    alert('Show has been fired '+showCount + ' times. '+event.persisted);
                });
            })(EventUtil)

    pageshow定义和用法

    onpageshow 事件在用户浏览网页时触发。

    onpageshow 事件类似于 onload 事件,onload 事件在页面第一次加载时触发, onpageshow 事件在每次加载页面时触发,即 onload 事件在页面从浏览器缓存中读取时不触发。

    为了查看页面是直接从服务器上载入还是从缓存中读取,你可以使用 PageTransitionEvent 对象的 persisted 属性来判断。 如果页面从浏览器的缓存中读取该属性返回 ture,否则返回 false

    pagehide定义和用法

    onpagehide 事件在用户离开网页时触发。

    离开网页有多种方式。如点击一个链接,刷新页面,提交表单,关闭浏览器等。.

    onpagehide 事件有时可以替代 onunload 事件,但 onunload 事件触发后无法缓存页面。

    为了查看页面是直接从服务器上载入还是从缓存中读取,你可以使用 PageTransitionEvent 对象的 persisted 属性来判断。 如果页面从浏览器的缓存中读取该属性返回 ture,否则返回 false 。

    不支持冒泡

    指定了onunload事件的处理程序的页面会被自动排除在bfcache之外,即使事件处理程序是空的,原因在于:onunload最常用撤销onload中所执行的操作,而跳过onload后再次显示页面很可能就会导致页面不正常

  • 相关阅读:
    转: java语法与ide级入门介绍 from: IBM dev
    Java Servlet 技术简介 from:IBM Dev
    腾讯开源组件-毫秒服务引擎
    JS中的slice和splice
    validform校验框架不显示错误提示
    jQuery获取不到隐藏DIV的高度和宽度
    前端页面下载
    Java传统下载和SpringMVC下载
    先尽人事,再听天命
    Java生成PDF之iTextPDF的使用
  • 原文地址:https://www.cnblogs.com/jokes/p/9778221.html
Copyright © 2011-2022 走看看