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 = ""; //这里可以放置你想做的操作代码    
    }    
  } 







你可能感兴趣的:(JavaScript)