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>