javascript - IE9 在 iframe 中加载脚本时抛出异常。为什么?

标签 javascript asp.net-mvc model-view-controller iframe internet-explorer-9

前提条件:

我有一个 aspx 页面,里面有 iframe。该 iframe 指向同一站点(它是混合站点,标准 ASP.NET 和 ASP.NET MVC)上的 MVC 处理的 url。 MVC 呈现的结果页面包含大量脚本引用。

问题:

IE9 在 iframe 中加载的每个脚本上都会引发异常。这些异常与此类似:

Error: 'Function' is undefined

也就是说,它说每个窗口都有的最基本的东西不知何故缺失了。单击所有这些弹出窗口后,页面就会按设计运行!
如果我从 <iframe /> 加载 URL直接在浏览器中添加 src 属性,一切都按预期工作。
如果我在另一个浏览器中打开该页面(我尝试过 Opera、Firefox),一切都会按预期工作 - 没有错误。

那么,IE9 想要什么?

最佳答案

this msdn page关于此错误(或功能)。

当您在 DOM 中移动 iframe 元素时,您会遇到此类错误。在这种情况下,IE 9 垃圾收集 iframe(导致未定义的错误)并在另一个位置重新加载它。

一般来说,您应该创建元素,仅设置其 src 属性一次,然后将其放入 DOM 树中的某个位置一次。它与 iframe 本身中运行的代码无关。

关于javascript - IE9 在 iframe 中加载脚本时抛出异常。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8389261/

相关文章:

javascript - 知道绿点的坐标,使用输入将其滚动到红点周围

c# - 显示来自不同 Controller 的操作 View

asp.net-mvc-4 - 绘制 MVC UML 图的正确方法

javascript - MVC中模型的异步更新

java - 在这种情况下我需要制作自定义事件吗?

javascript - iMacros URL 提取问题 - 需要 Java Script EVAL 解决方案

javascript - 困境...开发我的 Android 和 iOS 应用程序的程序和语言

javascript - 在 AsyncStorage 中保存一组项目

asp.net - ASP.NET MVC View 模型的最佳实践

c# - 自定义字符串作为 Entity Framework 的主键