前提条件:
我有一个 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/