`

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

阅读更多

http://www.jb51.net/article/11181.htm

 

很多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就会出现这个问题了
本文来自: 脚本之家(www.jb51.net) 详细出处参考:http://www.jb51.net/article/11181.htm

分享到:
评论

相关推荐

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

    很多web开发者或许都遇到过这样的问题,程序莫名奇怪出现“不能执行已释放Script的代码”,错误行1,列1.对于这种消息描述不着边,行列描述更是乱写的js错误,相信是所有调试js程序的朋友们最郁闷也最憎恨的事情!...

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

    "不能执行已释放的Script代码"这一错误是Web开发中常见的JavaScript问题,主要涉及到JavaScript的内存管理和函数引用。错误信息通常表示尝试访问或执行已被垃圾回收机制清除的内存区域内的JavaScript代码,即试图...

    解决ie11 SCRIPT5011:不能执行已释放Script的代码问题

    在使用IE11浏览器进行网页开发的过程中,开发者可能会遇到一个特定的错误提示:SCRIPT5011:不能执行已释放Script的代码。这个问题通常发生在父页面中嵌套有iframe子页面的场景下。错误的原因在于,父页面初始化时...

    VBScript错误代码及对应解释大全

    《VBScript错误代码及对应解释大全.doc》文档应该提供了更详尽的错误代码列表和解决方案,而《使用须知.txt》则可能包含了关于如何使用这份文档的指导。建议参考这两份资料,以更全面地理解和解决VBScript编程中遇到...

    调用JS代码出现乱码的解决办法

    ### 调用JS代码出现乱码的原因 在网页中调用JS代码时出现乱码的主要原因在于编码不匹配。具体来说,当网页的编码格式与JS文件的编码格式不一致时,浏览器在解析JS文件时可能会出现字符解码错误,从而导致乱码现象的...

    PB代码动态解析执行_pbdwe125.dll_pb_PB代码动态解析执行_

    标题 "PB代码动态解析执行_pbdwe125.dll_pb_PB代码动态解析执行_" 指的是使用PowerBuilder(PB)开发的应用程序中涉及到的一种高级功能,即动态解析执行PB代码。这种技术允许程序在运行时根据需要解析并执行用户...

    failed to execute script 解决方案+命令行执行传参exe

    首先,"failed to execute script"错误可能是由于以下原因: 1. **脚本编码问题**:Python脚本可能使用了非UTF-8的编码,导致解析错误。确保你的Python脚本使用标准的UTF-8编码,或者在脚本顶部添加一行声明编码的...

    ASP的错误代码都有哪些?

    这是一个通用的错误代码,表明遇到了未预期的问题,可能需要查看更详细的错误日志以确定具体原因。 3. ASP0102 - Expecting string input:缺少字符串输入。当函数或方法期望接收字符串参数,但实际传入的不是字符...

    学习电脑信息Description语法错误解决办法

    标题中的“电脑信息Description语法错误解决办法”是指在处理网页或网站内容时遇到的JavaScript语法错误,这通常会影响页面的正常运行和用户体验。描述中提到的“Java Script ErrorDescription:语法错误S 经如此而已...

    ecshop出现错误的js代码解决方法

    在运营过程中,由于各种原因,用户可能会遇到JS(JavaScript)代码错误,这会影响网站的正常运行和用户体验。本文将深入探讨如何解决ECShop中的JS错误,以及与之相关的文件`co.js`和`jquery.json.js`。 首先,当...

    使用外部编辑器编辑执行MAXScript代码插件

    使用外部编辑器编辑执行MAXScript代码插件,允许从外部代码编辑器编辑和执行3dMax MaxScript和Python文件。

    IIS不能解析ASP文件的解决办法

    8. **检查ASP代码**:如果以上步骤都不能解决问题,可能需要检查ASP源代码中是否存在语法错误或逻辑问题。 在解决问题的过程中,保持耐心和细心是非常重要的,因为这些错误往往涉及多个层面的配置。通过逐步排查和...

    java动态代码执行

    Java动态代码执行是一种在运行时编译和执行代码的技术,它可以极大地提高程序的灵活性和可扩展性。在Java中,Groovy是一个强大的脚本语言,它与Java语法兼容,并且可以无缝集成到Java应用程序中,使得动态代码执行变...

    C#用ScriptControl动态执行JS和VBS脚本

    此外,由于`ScriptControl`使用的是JScript(JavaScript的一个早期版本),它可能不支持现代JavaScript的一些特性,例如ES6及之后的语法。因此,在处理现代JavaScript代码时,可能需要先将其转换为兼容JScript的形式...

    CS-Script源代码

    1. **轻量级**:CS-Script不需要.NET Framework的完整版本,而是依赖于System.CLSCompliant.dll,这使得它可以在较小的.NET框架版本上运行,甚至在.NET Core环境下也能工作。 2. **灵活性**:由于C#是一种静态类型...

    学习电脑信息动易出现javascripterrordescription缺少对象的完美解决方案

    禁用脚本错误提示可以避免频繁的错误弹窗,但这并不能解决实际的代码错误。因此,即使改变这些设置也无法解决问题。 2. **审查代码**:真正的解决之道在于查找并修正代码中的错误。在本例中,错误位于程序文件中的...

    ANSYS错误提示及其含义

    原因通常是因为单元网格质量不佳,解决办法是使用更规则化的网格或者增加网格密度。 2. 当在ANSYS中使用AreaFillet对空间曲面进行倒角操作时,如果遇到错误提示:“Area6offsetcouldnot ...

Global site tag (gtag.js) - Google Analytics