不能执行已释放的Script的代码(ie错误)

 今天在ie浏览上发现一个错误 ,如上,没法解决.后来查了下资料,发现是window.top.listAllData的问题 代码如下:

因为发现在ie中,当一个ifame关闭时,这个iframe中的对象也随之销毁;

例如当前这个iframe的window.top.listAllData = new Array() 这段代码在iframe关闭之后,window.top.listAllData被赋值的对象就没了,但是window.top.listAllData的声明还在.类似于指针还在,指针指向的对象已经销毁.所以当这段js代码在一个新的iframe中复用时,window.top.listAllData已经无法指向原来的对象了.

解决办法:把window.top.listAllData = new Array(); 这段代码放在top页面对应的js代码中,然后new array()后的对象就没法销毁了.代码如下:

var listAllData = new Array();

 

posted @ 2017-04-10 17:37  CrazyShun  阅读(988)  评论(0编辑  收藏  举报