javascript - 无法从释放的脚本执行代码 - IE6 IE7 IE8 IE9

标签 javascript internet-explorer-8 internet-explorer-7 internet-explorer-6 internet-explorer-9

我今天在 IE6 中遇到了这个问题(但在所有最新版本的 IE 上都可以重现)。

我注意到很多人遇到过这个问题,但我还没有看到解决这个问题的非常实用的方法。

关于 HTML 文档头部的脚本标签和元标签的顺序,似乎还有一些其他的解决方案。我还没有确认这一点,但这里有一个链接: What causes the error "Can't execute code from a freed script"

我也知道这个问题的解决方案所以我把它贴在下面

最佳答案

首先你需要找到消息的来源。

IE 以其糟糕的错误报告而闻名,但幸运的是 IE9 似乎有点能力。如果这个bug出现在IE6、IE7或IE8中,那么在IE9中也会出现,所以使用IE9调试(为了你的理智)

在 IE9 中打开 Web 开发人员控制台(按 F12)并运行产生此错误的步骤。

IE9 现在应该在控制台上给你一个文件和行指示,耶!

通常会出错的是在延迟一段时间后执行的回调,无论是通过 setTimeout 还是因为 Ajax 请求。如果定义了回调的窗口、文档或框架被卸载,那么当它尝试执行您的回调函数时,您将收到此消息。

其他浏览器似乎忽略了这个问题,我想这很好。要让 IE 做同样的事情,只需将回调包装在一个 try-catch block 中(我不知道回调会评估什么,我认为它不会评估为未定义)。如果你想要更精确的错误处理,或者如果你真的想在发生这种情况时采取行动,你可能会这样做,请在这里发帖,因为我很好奇什么样的用例实际上需要这个。

关于javascript - 无法从释放的脚本执行代码 - IE6 IE7 IE8 IE9,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5812180/

相关文章:

javascript - PHP json在JavaScript中自动排序

javascript - 如何使用 ajax 将 javascript 值传递给 aspx c#

css - IE 9/8 子菜单丢失

css - IE7 中的主动导航 "jumping"

css - 我的页面布局在 IE7 中中断,如果我将鼠标悬停在/打开菜单项上,它会自行恢复

internet-explorer-8 - Azure 多久更改一次其基准浏览器快照/图像?

javascript - 使用 knockout handler 调整 div 大小并滑入其他 div

javascript - AmCharts 图例/过滤器配置?

javascript - 适用于 ie9 和 ff4 - 不适用于 ie7 或 ie 8?

css - IE8 不断破坏我的专栏