快捷搜索: 王者荣耀 脱发

iframe框架下的子父级页面监控页面关闭事件

1.子页面监控父级tabs页面关闭事件

两种方式:

其一↓

var jq = top.jQuery;  
    jq("#tt").tabs({
          onBeforeClose: function(title,index){
            var target = this;
            if(title=="//此处为title名"){
                alert("aaa");
                AuditCashierConfig.cancelTrade();
            }
            return true;    // 阻止关闭
          }
        });
    // 若当前页为收银确认则默认选中
    if (jq("#tt").tabs(exists, "//此处为title名")){  
        jq("#tt").tabs(select, "//此处为title名");  
    }


其二↓
$(window).unload(function (evt) {
		if (typeof evt == undefined) {
			evt = window.event;
		}
		if (evt) {
			var n = window.event.screenX - window.screenLeft; 
			var b = n > document.documentElement.scrollWidth-20;
			
			if(b && window.event.clientY < 0 || window.event.altKey){
				// 这个可以排除刷新 关闭的时候触发
				$.messager.confirm(确认,你确认想要关闭+title,function(r){});
			} 
		}
	});

2.监控某页面关闭或刷新浏览器或浏览器页面事件

window.onbeforeunload = onbeforeunload_handler;   // 关闭页面之前
window.onunload = onunload_handler;   // 关闭页面,此处加任何操作都不会影响关闭或者刷新页面
    function onbeforeunload_handler(){   
        var warning="确认退出?";           
        return warning;   
    }   
       
    function onunload_handler(){   
        var warning="谢谢光临";   
        alert(warning);   
    }
// 排除刷新页面
window.onbeforeunload = function() //author: meizz    
  {    
    var n = window.event.screenX - window.screenLeft;    
    var b = n > document.documentElement.scrollWidth-20;    
    if(b && window.event.clientY < 0 || window.event.altKey)    
    {    
      alert("是关闭而非刷新");    
       window.event.returnValue = ""; //这里可以放置你想做的操作代码    
    }    
  } 
<span style="font-family:Helvetica, Tahoma, Arial, sans-serif;font-size:14px;color:#000000;font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 25.2px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px; display: inline !important; float: none; background-color: rgb(255, 255, 255);">
</span>


经验分享 程序员 微信小程序 职场和发展