• js判断浏览器是否关闭


    http://www.blogjava.net/wyz191/archive/2008/12/08/245089.html JS
     
    window.onunload=function(){
         var n=window.event.screenX-window.screenLeft;
         var b=n>document.documentElement.scrollWidth-20;
         if(b&&window.event.clientY<0||window.event.altKey){
              alert("关闭");
         }else{
              alert("刷新");
         }
    }
     

    三大主流浏览器中firefox和IE都支持onbeforeunload事件,opera尚未支持。

    用法:

    • object.onbeforeunload = handler
    • <element onbeforeunload = “handler” … ></element>

    描述:
    事件触发的时候弹出一个有确定和取消的对话框,确定则离开页面,取消则继续待在本页。
    handler可以设一个返回值作为该对话框的显示文本。

    触发于:

    • 关闭浏览器窗口
    • 通过地址栏或收藏夹前往其他页面的时候
    • 点击返回,前进,刷新,主页其中一个的时候
    • 点击 一个前往其他页面的url连接的时候
    • 调用以下任意一个事件的时候:click,document write,document open,document close,window close ,window navigate ,window NavigateAndFind,location replace,location reload,form submit.
    • 当用window open打开一个页面,并把本页的window的名字传给要打开的页面的时候。
    • 重新赋予location.href的值的时候。
    • 通过input type=”submit”按钮提交一个具有指定action的表单的时候。

    可以用在以下元素:
    BODY, FRAMESET, window

    平台支持:
    IE4+/Win, Mozilla 1.7a+, Netscape 7.2+, Firefox0.9+

     
         标签只有onloadonunloadonbeforeunload事件,而没有onclose事件。不管页面是关闭还是刷新都会执行onunload事件。如何捕捉到页面关闭呢? 
         页面加载时只执行onload 
         页面关闭时只执行onunload 
         页面刷新时先执行onbeforeunload,然后onunload,最后onload。这样我们可以在onbeforeunload中加一个标记,在onunload中判断该标记,即可达到判断页面是否真的关闭了。
     
  • 相关阅读:
    前端性能优化方案-路由懒加载实现
    写 React / Vue 项目时为什么要在列表组件中写 key,其作用是什么
    自定义组件实现双向绑定v-model
    前端开发中如何快速定位问题
    修改浏览器属性配置的作用---开发机上解决跨域的方式
    vue展示md文件,前端读取展示markdown文件
    js数组去重
    VUE错误码Attribute ':sizeOpts' must be hyphenated
    前端开发-日常开发沉淀之git提交文件忽略
    创建一个新的分支并关联远程分支
  • 原文地址:https://www.cnblogs.com/svennee/p/4073152.html
Copyright © 2020-2023  润新知