IE报错SCRIPT5011:不能执行已释放Script的代码
错误现象:IE浏览器异常js报错,谷歌正常。
错误原因:
父页面结果列表中open弹窗修改信息,子页面提交后,刷新父页面的form表单,显示新值。在新页面没刷新之前,又点击编辑,open子页面,此时在ie模式下,无法提交表单。
解决方案:
1简单方法。
父页面:
form下写一个遮罩层。子页面提交后打开,父页面刷新后自动关闭。
<form>
<div>查询结果</div>
<!-- 遮罩层 -->
<div id="overlay" style="display:none; position:fixed; top:0; left:0; right:0; bottom:0; ">
<div style="position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); text-align:center;">
<h1>loading...</h1>
</div>
</div>
</form>
js:
父页面提交子页面表单的回调函数
if(iframe.adjust()=="success")
{
var overlay = document.getElementById('overlay');
overlay.style.display = 'block'; // 显示遮罩层
// 刷新父页面
formSubmit("Form");
}
方法2:
提交方法写到子页面中,实现比较复杂,不写了。