出现“不能执行已释放的Script代码”错误的原因及解决办法


Posted in Javascript onAugust 29, 2007

很多web开发者或许都遇到过这样的问题,程序莫名奇怪出现“不能执行已释放Script的代码”,错误行1,列1.对于这种消息描述不着边,行列描述更是乱写的js错误,相信是所有调试js程序的朋友们最郁闷也最憎恨的事情!遇到这种问题,最简单的办法直接把错误贴到baidu或google那个小输入框中让他们先给点指点,再去解决,可这次却没有这么容易,在baidu搜索似乎很多人都遇到过这种问题,但是都是些什么qq空间错误,狂晕,或者就是只有问没有答的,闷!

   这种错误从何调起?后面没办法,又是猜测又是try...catch蹦错误,找了半天终于找到错误的位置,可是发现写的并没有什么问题,后来绞尽脑汁思考程序的解释过程,确依旧没有什么头绪。继续baidu,突然在某网页中看到一句话:当一个页面关闭时会自动释放页面的js。短短一句话给了我不小的启发。检查我的程序是否有页面的关闭或转向,发现是执行了转向,然后再回到这个页面时出现了错误。突然间觉得明白了。

场景:页面有a和b两个框架页iframe,在b页面中通过js将一个函数引用传入到a页面保存在a页面的一个变量中,a页面可以通过这个引用执行b页面的一些程序,当b页面刷新后由于a页面对b页面的引用已经丢失,但a中仍然保存着b页面之前传过来的引用,但当前的引用已经不能引用到b页面,这样在执行时就会出现“不能执行已经释放的Script代码”

解决办法:在a页面中加上容错处理,当引用出现错误时要将引用清空或指向一个默认的函数。另外在b页面再次载入时要重新给a页面传送函数引用,这样就不会出现这样的错误了。

或许这里的描述有些过于抽象了,看一个演示再看看代码就容易明白了,先test,然后return url,之后再test就会出现这个问题了

Javascript 相关文章推荐
JavaScript 检测浏览器和操作系统的脚本
Dec 26 Javascript
jQuery 学习入门篇附实例代码
Mar 16 Javascript
浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
Jan 10 Javascript
利用函数的惰性载入提高javascript代码执行效率
May 05 Javascript
对之前写的jquery分页做下升级
Jun 19 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
Nov 23 Javascript
AngularJS的内置过滤器详解
May 14 Javascript
JS for...in 遍历语句用法实例分析
Aug 24 Javascript
js使用i18n实现页面国际化的方法
May 09 Javascript
详解webpack 入门总结和实践(按需异步加载,css单独打包,生成多个入口文件)
Jun 20 Javascript
Vue内容分发slot(全面解析)
Aug 19 Javascript
Vue服务器渲染Nuxt学习笔记
Jan 31 Javascript
推荐一些非常不错的javascript学习资源站点
Aug 29 #Javascript
070823更新的一个[消息提示框]组件 兼容ie7
Aug 29 #Javascript
找到了一篇jQuery与Prototype并存的冲突的解决方法
Aug 29 #Javascript
javascript动画效果类封装代码
Aug 28 #Javascript
Google韩国首页图标动画效果
Aug 26 #Javascript
javascript在一段文字中的光标处插入其他文字
Aug 26 #Javascript
有一段有意思的代码-javascript现实多行信息
Aug 26 #Javascript
You might like
据说是雅虎的一份PHP面试题附答案
2009/01/07 PHP
使用php批量删除数据库下所有前缀为prefix_的表
2014/06/09 PHP
PHP实现扎金花游戏之大小比赛的方法
2015/03/10 PHP
Yii rules常用规则示例
2016/03/15 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
php获取小程序码的实现代码(B类接口)
2020/06/13 PHP
Js之软键盘实现(js源码)
2007/01/30 Javascript
YUI 读码日记之 YAHOO.lang.is*
2008/03/22 Javascript
Prototype Date对象 学习
2009/07/12 Javascript
javascript解决innerText浏览器兼容问题思路代码
2013/05/17 Javascript
jquery实现的一个导航滚动效果具体代码
2013/05/27 Javascript
JS获取网页属性包括宽、高等等
2014/04/03 Javascript
实用框架(iframe)操作代码
2014/10/23 Javascript
TypeScript具有的几个不同特质
2015/04/07 Javascript
基于zepto.js简单实现上传图片
2016/06/21 Javascript
jQuery Ajax 异步加载显示等待效果代码分享
2016/08/01 Javascript
js检查是否关闭浏览器的方法
2016/08/02 Javascript
JS中Swiper的使用和轮播图效果
2017/08/11 Javascript
浅谈微信小程序之官方UI框架we-ui使用教程
2018/08/20 Javascript
跟老齐学Python之for循环语句
2014/10/02 Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
2017/11/14 Python
python使用turtle库与random库绘制雪花
2018/06/22 Python
Python实现分段线性插值
2018/12/17 Python
Django自带的加密算法及加密模块详解
2019/12/03 Python
python实现将字符串中的数字提取出来然后求和
2020/04/02 Python
python 如何利用argparse解析命令行参数
2020/09/11 Python
HTML5、Select下拉框右边加图标的实现代码(增进用户体验)
2017/10/16 HTML / CSS
.net软件工程师面试题
2015/03/31 面试题
应届毕业生个人自荐信范文
2013/11/30 职场文书
《自选商场》教学反思
2014/02/14 职场文书
《鸟的天堂》教学反思
2014/02/27 职场文书
农林环境专业求职信
2014/03/13 职场文书
地道战观后感2000字
2015/06/04 职场文书
团结友爱主题班会
2015/08/13 职场文书
Python+Matplotlib+LaTeX玩转数学公式
2022/02/24 Python
Python实现将多张图片合成MP4视频并加入背景音乐
2022/04/28 Python