因为用了IFrame出现的问题,应用场景:
在子页面(iframe中的页面)中给主页面“保存”按钮添加点击事件,因多次在iframe中加载页面造成js错误。第一次执行时没有问题,第二次以后都不能正常执行click处理函数,每次在IE调试时报“不能执行已释放 Script 的代码”,始终找不到原因,看了网上也没有合适的解决方法(http://www.jb51.net/article/11311.htm 这个还比较靠谱,但是还是没有解决),最后突然想到了,因多次给iframe加载页面都会给主页面“保存”按钮重新添加click处理函数,因为主页面始终存在,子页面在变化,造成给主页面“保存”按钮多次添加处理函数(是在子页面定义的),这样在第二次加载iframe后点击”保存“按钮会先执行第一次绑定的click处理方法(但是该页面已经不存在了),是出现报错的主要原因,然后突然想到了jQuery的unbind()方法
解决办法:
在子页面给父页面按钮添加click处理函数前, 先给父页面按钮调用unbind()方法取消以前的绑定事件,然后再绑定处理函数。这样每次执行的都是最新的处理函数,就不会出现因找不到原来的处理函数造成这样的错误了。
相关推荐
在使用IE11浏览器进行网页开发的过程中,开发者可能会遇到一个特定的错误提示:SCRIPT5011:不能执行已释放Script的代码。这个问题通常发生在父页面中嵌套有iframe子页面的场景下。错误的原因在于,父页面初始化时...
然而,这种方法并不总是完美的解决方案,因为它可能会引入其他IE8特有的问题,而且不是长久之计。对于长期的解决方案,最好是修改代码以适应更现代的浏览器标准。 此外,针对特定的JavaScript对象,如jQuery、Array...
问题现象 项目使用vue/cli3脚手架搭建的前端项目,vue版本为...包含的代码中有ES6的语法,IE不支持,查了网上很多资料都说使用babel-polyfill来解决。 现象一:IE不支持ES6语法 Vuex requires a Promise polyfill
在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
这是因为`browser.min.js`很可能包含了一种或多种技术,如Babel,用于将ES6代码转译为ES5或其他更老的JavaScript语法,使得这些代码能在不支持新特性的环境中执行。 然而,仅仅转译ES6代码并不足以处理所有兼容性...
Babel 默认只转换新的 JavaScript 语法(如箭头函数),而不转换新的 API ,比如 Iterator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise 等新的对象或者方法。 例如 Promise 、新的原生方法如 String....
在其他现代浏览器如Chrome、Firefox以及IE9及更高版本中,可以正常地通过JavaScript或jQuery的`attr()`方法改变`type`属性,但在IE8中,这种方法会导致错误。 问题的场景是:当用户选择一个复选框(`...
将JavaScript对象类型的参数通过JSON.stringify转换成字符串传递时,IE5、6、7、8...解决方法:<script type="text/javascript" src="/路径/json2.js"></script>或者<script src="()%>/passripts/json2.js"></script>
需要注意的是,虽然在某些情况下修改charset和文件编码可以解决IE6的问题,但可能还需要检查其他因素,比如JS代码本身是否存在对IE6不友好的特性。例如,某些ES5以上的语法在IE6中不支持,或者使用了未经polyfill...
<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加密的工具类,直接引入,并且使用new ecrypt()即可使用,官网的js会倒是IE浏览器报错SCRIPT1010错误,原因为逗号(,)关键字(default,delete)等。
IE 在 `document.write()` 时,并未等待加载 SRC 中的 JavaScript 代码完毕后,才执行下一行,所以导致 2 先弹出,并且执行到 `document.write('alert("我是" + tmpStr)')` 调用 tmpStr 时,tmpStr 并未定义,从而...
ie8中对于声明文档类型更加严格如下面的代码。... [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]可以看到这段代码在ie7与ie8中都是可以运行的,下面的代码我们加入声明文档 代码如下:<!DOCTYPE ht
解决此问题的一个方法是将`document.write()`的代码拆分,确保每次执行都不会阻断或干扰到外部资源的加载。 总之,正确理解和管理JavaScript在页面加载过程中的执行顺序,有助于编写出更加高效且易维护的代码。
由于IE9不支持getUserMedia,WebCamJs会检测到这个情况并自动切换到Flash模式。需要注意的是,用户需要安装Flash Player插件,且浏览器设置中必须允许Flash运行。 实现WebCamJs的步骤如下: 1. **引入WebCamJs库**...
总的来说,解决Vue项目在IE浏览器中显示空白的问题,关键在于确保项目中的现代JavaScript代码能够被老旧浏览器理解并执行。通过引入`babel-polyfill`和其它必要的垫片库,我们可以使Vue项目在更广泛的浏览器环境中...
- **解决办法**:为了避免此类问题,可以将相关代码拆分为多个`<script>`标签,确保外部文件加载完成后再执行其他脚本逻辑。 通过以上分析可以看出,理解和掌握JavaScript在HTML文档中的加载与执行顺序对于编写...