出现“不能执行已释放的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 相关文章推荐
各浏览器对link标签onload/onreadystatechange事件支持的差异分析
Apr 27 Javascript
判断文档离浏览器顶部的距离的方法
Jan 08 Javascript
用jquery实现动画跳到顶部和底部(这个比较简单)
Sep 01 Javascript
JavaScript中函数声明与函数表达式的区别详解
Aug 18 Javascript
bootstrap PrintThis打印插件使用详解
Feb 20 Javascript
JS闭包用法实例分析
Mar 27 Javascript
史上最全JavaScript数组去重的十种方法(推荐)
Aug 17 Javascript
微信小程序异步处理详解
Nov 10 Javascript
js实现多图和单图上传显示
Dec 18 Javascript
JavaScript对象属性操作实例解析
Feb 04 Javascript
Javascript confirm多种使用方法解析
Sep 25 Javascript
ES6中的Javascript解构的实现
Oct 30 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实现域名whois查询的代码(数据源万网、新网)
2010/02/22 PHP
php将fileterms函数返回的结果变成可读的形式
2011/04/21 PHP
一个PHP实现的轻量级简单爬虫
2015/07/08 PHP
php过滤所有的空白字符(空格、全角空格、换行等)
2015/10/27 PHP
php+ajax无刷新上传图片实例代码
2015/11/17 PHP
PHP与Ajax相结合实现登录验证小Demo
2016/03/16 PHP
在PHP中输出JS语句以及乱码问题的解决方案
2019/02/13 PHP
php实现微信公众号创建自定义菜单功能的实例代码
2019/06/11 PHP
用 javascript 实现的点击复制代码
2007/03/24 Javascript
document.onreadystatechange事件的用法分析
2009/10/17 Javascript
JavaScript中数组对象的那些自带方法介绍
2013/03/12 Javascript
JavaScript中的运算符种类及其规则介绍
2013/09/26 Javascript
设置checkbox为只读(readOnly)的两种方式
2013/10/11 Javascript
js实现window.open不被拦截的解决方法汇总
2014/10/30 Javascript
json格式数据的添加,删除及排序方法
2016/01/21 Javascript
JS 动态判断PC和手机浏览器实现代码
2016/09/21 Javascript
有关文件上传 非ajax提交 得到后台数据问题
2016/10/12 Javascript
Json按某个键的值进行排序
2016/12/22 Javascript
AngularJS开发教程之控制器之间的通信方法分析
2016/12/25 Javascript
socket io与vue-cli的结合使用的示例代码
2018/11/01 Javascript
vue 中 命名视图的用法实例详解
2019/08/14 Javascript
extjs图表绘制之条形图实现方法分析
2020/03/06 Javascript
区分vue-router的hash和history模式
2020/10/03 Javascript
关于element的表单组件整理笔记
2021/02/05 Javascript
[31:00]2014 DOTA2华西杯精英邀请赛5 24 NewBee VS iG
2014/05/25 DOTA
Python列表推导式与生成器表达式用法示例
2018/02/08 Python
python3.7 的新特性详解
2019/07/25 Python
python实现的汉诺塔算法示例
2019/10/23 Python
使用pytorch和torchtext进行文本分类的实例
2020/01/08 Python
Python 支持向量机分类器的实现
2020/01/15 Python
浅析Python 字符编码与文件处理
2020/09/24 Python
美国隐形眼镜网:Major Lens
2018/02/09 全球购物
英国绿色商店:Natural Collection
2019/05/03 全球购物
会计专业求职信范文
2014/03/16 职场文书
2015年乡镇统计工作总结
2015/04/22 职场文书
nginx简单配置多个server的方法
2021/03/31 Servers