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>





  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iframe 跨域状态下,页面(即iframe内的页面)可以使用以下几种方式存储登录信息: 1. 使用浏览器的本地存储(localStorage 或 sessionStorage)来存储登录信息。页面可以直接访问本地存储中的数据,因此可以在页面中存储登录信息。在父窗口中登录后,将登录信息存储在本地存储中,然后在页面中读取并使用该信息。这种方法的优点是简单易用,缺点是本地存储中的数据可能会被其他网站或恶意脚本访问。 2. 使用页面的 cookie 来存储登录信息。由于页面和父窗口处于不同的域名下,因此页面无法直接访问父窗口的 cookie。但是,可以通过父窗口将登录信息存储在 cookie 中,并通过跨域通信技术(如 postMessage)将登录信息传递给页面。在页面中,可以读取父窗口传递过来的 cookie 来获取登录信息。这种方法的优点是相对安全,缺点是需要使用一些额外的代码来实现跨域通信。 3. 在服务器端存储登录信息,并在页面中通过 Ajax 请求来获取该信息。在父窗口中登录后,将登录信息存储在服务器端,然后在页面中通过 Ajax 请求来获取该信息。这种方法的优点是安全可靠,缺点是需要服务器端的支持和额外的网络请求。 无论使用哪种方法,都需要考虑安全性和可靠性,并且需要在代码中进行相应的处理,以确保用户的登录信息能够正确地传递和保存。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值