出现“不能执行已释放的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 相关文章推荐
json跟xml的对比分析
Jun 10 Javascript
JavaScript 在线压缩和格式化收藏
Jan 16 Javascript
jQuery 第二课 操作包装集元素代码
Mar 14 Javascript
十个优秀的Ajax/Javascript实例网站收集
Mar 31 Javascript
JS控件的生命周期介绍
Oct 22 Javascript
jQuery子窗体取得父窗体元素的方法
May 11 Javascript
javascript实现禁止鼠标滚轮事件
Jul 24 Javascript
JS动画实现回调地狱promise的实例代码详解
Nov 08 Javascript
使用Node.js实现一个多人游戏服务器引擎
Mar 13 Javascript
浅谈vue加载优化策略
Mar 19 Javascript
JavaScript语法约定和程序调试原理解析
Nov 03 Javascript
Vue 解决在element中使用$notify在提示信息中换行问题
Nov 11 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可逆加密/解密函数分享
2012/09/25 PHP
ThinkPHP中U方法的使用浅析
2014/06/13 PHP
php+mysql不用递归实现的无限级分类实例(非递归)
2014/07/08 PHP
php实现判断访问来路是否为搜索引擎机器人的方法
2015/04/15 PHP
Django中通过定时任务触发页面静态化的处理方式
2018/08/29 PHP
jquery中ajax调用json数据的使用说明
2011/03/17 Javascript
javascript setTimeout和setInterval计时的区别详解
2013/06/21 Javascript
JavaScript将页面表格导出为Excel的具体实现
2013/12/27 Javascript
JS图片自动轮换效果实现思路附截图
2014/04/30 Javascript
javascript获取checkbox复选框获取选中的选项
2014/08/12 Javascript
Jquery幻灯片特效代码分享--鼠标点击按钮时切换(1)
2015/08/15 Javascript
详解jQuery中的DOM操作
2016/12/23 Javascript
Angular 2.0+ 的数据绑定的实现示例
2017/08/09 Javascript
解决Jquery下拉框数据动态获取的问题
2018/01/25 jQuery
webpack项目使用eslint建立代码规范实现
2019/05/16 Javascript
bootstrap table列和表头对不齐的解决方法
2019/07/19 Javascript
JavaScript实现Excel表格效果
2020/02/07 Javascript
NodeJS多种创建WebSocket监听的方式(三种)
2020/06/04 NodeJs
[01:04:05]VG vs Newbee 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
python re模块findall()函数实例解析
2018/01/19 Python
Python面向对象class类属性及子类用法分析
2018/02/02 Python
Python装饰器简单用法实例小结
2018/12/03 Python
Linux下Pycharm、Anaconda环境配置及使用踩坑
2018/12/19 Python
python使用正则表达式(Regular Expression)方法超详细
2019/12/30 Python
Python Charles抓包配置实现流程图解
2020/09/29 Python
GitHub上值得推荐的8个python 项目
2020/10/30 Python
使用CSS Grid布局实现网格的流动
2014/12/30 HTML / CSS
adidas澳大利亚官方网站:adidas Australia
2018/04/15 全球购物
荷兰度假屋租赁网站:Aan Zee
2020/02/28 全球购物
Linux如何压缩可执行文件
2014/03/27 面试题
大学本科毕业生求职简历的自我评价
2013/10/09 职场文书
妇女干部培训方案
2014/05/12 职场文书
销售顾问工作计划书
2014/08/15 职场文书
寒假安全保证书
2015/02/28 职场文书
表扬信范文
2015/05/04 职场文书
laravel ajax curd 搜索登录判断功能的实现
2021/04/17 PHP