`
slbszq
  • 浏览: 264200 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

“不能执行已释放 Script 的代码”JS报错(IE)解决方法

阅读更多

因为用了IFrame出现的问题,应用场景:

在子页面(iframe中的页面)中给主页面“保存”按钮添加点击事件,因多次在iframe中加载页面造成js错误。第一次执行时没有问题,第二次以后都不能正常执行click处理函数,每次在IE调试时报“不能执行已释放 Script 的代码”,始终找不到原因,看了网上也没有合适的解决方法(http://www.jb51.net/article/11311.htm 这个还比较靠谱,但是还是没有解决),最后突然想到了,因多次给iframe加载页面都会给主页面“保存”按钮重新添加click处理函数,因为主页面始终存在,子页面在变化,造成给主页面“保存”按钮多次添加处理函数(是在子页面定义的),这样在第二次加载iframe后点击”保存“按钮会先执行第一次绑定的click处理方法(但是该页面已经不存在了),是出现报错的主要原因,然后突然想到了jQuery的unbind()方法

解决办法:

在子页面给父页面按钮添加click处理函数前, 先给父页面按钮调用unbind()方法取消以前的绑定事件,然后再绑定处理函数。这样每次执行的都是最新的处理函数,就不会出现因找不到原来的处理函数造成这样的错误了。

分享到:
评论

相关推荐

    VUE 项目在IE11白屏报错 SCRIPT1002: 语法错误的解决

    问题现象 项目使用vue/cli3脚手架搭建的前端项目,vue版本为...包含的代码中有ES6的语法,IE不支持,查了网上很多资料都说使用babel-polyfill来解决。 现象一:IE不支持ES6语法 Vuex requires a Promise polyfill

    JavaScript利用append添加元素报错的解决方法

    在IE浏览器上: Uncaught HierarchyRequestError:Failed to excute ‘appendChild’ on ‘Node’:The new child element contains the parent. 在谷歌浏览器上: SCRIPT5022:DOM Exception:HIERARCHY_REQUEST_ERR(3)...

    解决ie浏览器不兼容ES6的js文件browser-polyfill.min.js

    解决ie浏览器不兼容ES6的js文件browser-polyfill.min.js

    详解vue 兼容IE报错解决方案

    Babel 默认只转换新的 JavaScript 语法(如箭头函数),而不转换新的 API ,比如 Iterator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise 等新的对象或者方法。 例如 Promise 、新的原生方法如 String....

    解决'JSON'未定义 报错,引入json2.js

    将JavaScript对象类型的参数通过JSON.stringify转换成字符串传递时,IE5、6、7、8...解决方法:<script type="text/javascript" src="/路径/json2.js"></script>或者<script src="()%>/passripts/json2.js"></script>

    百度UEDITOR 内网上传视频支持IE8的方法

    <script language="javascript" type="text/javascript" src="/Data/ueditor/third-party/video-js/video.js"></script> <script src="/Public/2017-5-11/html5media.min.js"></script> 上边是bootcss自带的,...

    兼容IE浏览器的前端RSA加密js

    用于兼容IE浏览器使用RSA加密的工具类,直接引入,并且使用new ecrypt()即可使用,官网的js会倒是IE浏览器报错SCRIPT1010错误,原因为逗号(,)关键字(default,delete)等。

    javascript代码在ie8里报错 document.getElementById(…) 为空或不是对象的解决方法 原创

    ie8中对于声明文档类型更加严格如下面的代码。... [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]可以看到这段代码在ie7与ie8中都是可以运行的,下面的代码我们加入声明文档 代码如下:<!DOCTYPE ht

    解决VUEX兼容IE上的报错问题

    在IE 上使用Vuex的过程中,出现如下错误: SCRIPT5022: [vuex] vuex requires a Promise polyfill in this browser. 解决方法: ...以上这篇解决VUEX兼容IE上的报错问题就是小编分享给大家的全部内容了

    IE11下使用canvas.toDataURL报SecurityError错误的解决方法

    主要给大家介绍了关于在IE11下使用canvas.toDataURL报SecurityError错误的解决方法,文中通过示例代码介绍的非常详细,对同样遇到这个问题的朋友们具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习...

    javascript trim函数在IE下不能用的解决方法

    javascript 的trim 函数在firefox 下面使用没有问题 [removed] var test1 = aa ; test1 = test1.toString(); test1 = test1.trim(); [removed] 在火狐下这样用没有问题, 但是在IE下就报错 那么我们可以修改一下 ...

    Windows Script Debugger

    Companion.JS ,请注意,这可不是一个js文件,而是一个名字,它是作为ie的插件来安装使用的,而且需要结合Microsoft Script Debugger使用,通过安装这个工具,但页面出现错误时会在左上角弹出一个小错误提示,点击会...

    Vue 2.0在IE11中打开项目页面空白的问题解决

    Babel 默认只转换新的 JavaScript 句法(syntax),而不转换新的 API ,比如 Iterator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise 等全局对象,以及一些定义在全局对象上的方法(比如 Object.

    快速解决Vue项目在IE浏览器中显示空白的问题

    vue项目在IE浏览器中显示空白,是因为js文件没有加载,需要引入babel-...以上这篇快速解决Vue项目在IE浏览器中显示空白的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。

    语法script

    语法操作和基本知识的了解,希望大家可以相互帮助

    JS在IE下缺少标识符的错误

    根据报错的行数查找源码,也看不出哪里有问题,看样子没缺少什么啊,代码如下: if (opts.display.class != '') { $(list).addClass(opts.display.css); } 此句其实是判断 opts 对象的 display 的 class 属性有没...

    javascript中直接写php代码的方法

    一、在javascript中嵌入php代码javascript若是通过js文件包含进来的,那么js文件中也可以直接写php...但是javascript却不能这样:newGame : function(a, b = 0)ie和chrome会报错,ff会直接忽略。我们可以用arguments只

    javascript在IE下trim函数无法使用的解决方法

    本文实例分析了javascript在IE下trim函数无法使用的解决方法,对于web前段设计有一定的借鉴价值。具体分析如下: 首先,javascript的trim函数在firefox下面使用没有问题: [removed] var test1 = " aa "; test1 =...

    javascript 动态生成css代码的两种方法

    javascript 动态生成css代码的两种方法 有时候我们需要利用js来动态生成页面上style标签中的css代码,方法很直接,就是直接创建一个style元素,然后设置style元素里面的css代码,最后把它插入到head元素中。但有些...

Global site tag (gtag.js) - Google Analytics