出现“不能执行已释放的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 相关文章推荐
Array.prototype.slice 使用扩展
Jun 09 Javascript
jQuery最佳实践完整篇
Aug 20 Javascript
文本框(input)获取焦点(onfocus)时样式改变的示例代码
Jan 10 Javascript
深入分析jsonp协议原理
Sep 26 Javascript
JavaScript中Number对象的toFixed() 方法详解
Sep 02 Javascript
JavaScript实现定时页面跳转功能示例
Feb 14 Javascript
使用JS组件实现带ToolTip验证框的实例代码
Aug 23 Javascript
js微信分享实现代码
Oct 11 Javascript
五步轻松实现zTree的使用
Nov 01 Javascript
解决vue打包之后静态资源图片失效的问题
Feb 21 Javascript
vue-image-crop基于Vue的移动端图片裁剪组件示例
Aug 28 Javascript
使用vue开发移动端管理后台的注意事项
Mar 07 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 URL编码解码函数代码
2009/03/10 PHP
需要注意的几个PHP漏洞小结
2012/02/05 PHP
基于php判断客户端类型
2016/10/14 PHP
PHPstorm快捷键(分享)
2017/07/17 PHP
Ajax+PHP实现的删除数据功能示例
2019/02/12 PHP
PHP时间函数使用详解
2019/03/21 PHP
jQuery使用手册之 事件处理
2007/03/24 Javascript
用javascript实现的图片马赛克后显示并切换加文字功能
2007/04/21 Javascript
jQuery :first选择器使用介绍
2013/08/09 Javascript
jQuery实现类似滑动门切换效果的层切换
2013/09/23 Javascript
js实现精美的图片跟随鼠标效果实例
2015/05/16 Javascript
JavaScript的jQuery库中ready方法的学习教程
2015/08/14 Javascript
JQuery.validate在ie8下不支持的快速解决方法
2016/05/18 Javascript
深入理解JS中的Function.prototype.bind()方法
2016/10/11 Javascript
Bootstrap table右键功能实现方法
2017/02/20 Javascript
推荐三款日期选择插件(My97DatePicker、jquery.datepicker、Mobiscroll)
2017/04/21 jQuery
Angularjs单选框相关的示例代码
2017/08/17 Javascript
React-Router如何进行页面权限管理的方法
2017/12/06 Javascript
Node.js 实现远程桌面监控的方法步骤
2019/07/02 Javascript
js实现简单的随机点名器
2020/09/17 Javascript
JS指定音频audio在某个时间点进行播放
2020/11/28 Javascript
[01:33]完美世界DOTA2联赛PWL S3 集锦第二期
2020/12/21 DOTA
Python多进程同步Lock、Semaphore、Event实例
2014/11/21 Python
numpy排序与集合运算用法示例
2017/12/15 Python
pip安装py_zipkin时提示的SSL问题对应
2018/12/29 Python
python使用phoenixdb操作hbase的方法示例
2019/02/28 Python
Python自动化导出zabbix数据并发邮件脚本
2019/08/16 Python
解决Tensorboard可视化错误:不显示数据 No scalar data was found
2020/02/15 Python
Pytorch之Tensor和Numpy之间的转换的实现方法
2020/09/03 Python
python安装cx_Oracle和wxPython的方法
2020/09/14 Python
Python基于Socket实现简易多人聊天室的示例代码
2020/11/29 Python
外语系毕业生找工作的求职信
2013/11/28 职场文书
教师节横幅标语
2014/10/08 职场文书
2014业务员年终工作总结
2014/12/09 职场文书
解除劳动合同通知书范本
2015/04/16 职场文书
培训计划通知
2015/07/15 职场文书