父页面中关闭子页面计时器的解决方法

15 篇文章 0 订阅

父页面弹出窗口以iframe的方式加载子页面的数据,当窗口关闭时,子页面的js计时器却还在运行,导致页面卡顿阻塞。下面是我在实际编程中使用的方法:

一、子页面中的计时器:

var timer1 =setInterval("refreshDataAll()", 800);

二、父页面中关闭子页面计时器的方法:

var ss = "crossingVedio_page.html?time=" + new Date().getTime();
$('#crossingVedio_win').window({
		title: '路口视频',
		width: 1150,
		height: 778,
		closed: true,
		cache: false,
		maximizable: false,
		minimizable: false,
		collapsible: false,
		resizable: false,
		content: "<iframe id='cvp' scrolling='no' frameborder='0' src='" + ss + "' style='width:600px; height:300px; display:block;'></iframe>",
		modal: true
});
$('#crossingVedio_win').window({
	onBeforeClose:function(){
	//三种方法:
	//第一种:使用window最外层数据包,类似键值对一样,将子页面窗口在子页面中赋值,如:window["subwin:]=window;这样就将子页面赋值给了windows["subwin"],然后使用下列方法关闭计时器。
    //window["subwin:].clearInterval(window["subwin:]["timer1"]);

	//jquery方法:
	//var subwin=$("#cvp")[0].contentWindow;
	//subwin.clearInterval(subwin["timer1"]);

	//js方法:
	var subwin=document.getElementById("cvp").contentWindow;//获取子页面窗口
	subwin.clearInterval(subwin["timer1"]);//取到子页面窗口中的计时器执行subwin.clearInterval()方法
	}
}

首先要给iframe定义一个id,然后在窗口的onBeforeClose事件中关闭子页面的计时器。
秋风写于淄博,业务联系与技术交流:Q375172665

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值