我的内容已加载到标准框架中。我无法控制强制浏览器进入IE5 Quirks模式的父帧。现在在我自己的内容中,我试图更改iframe的src。我使用以下代码:
function loadIframe(iframeName, url) {
var $iframe = $('#' + iframeName);
if ( $iframe.length ) {
$iframe.attr('src',url);
return false;
}
return true;
}
loadIframe('frameID', '../myhtmlpage.html');
问题在于,当我尝试将新的src加载到iframe时,整个窗口会重新加载。我很确定这与IE5Quirks模式有关,因为如果我提取IE Developer工具并更改为标准模式,iframe将按预期加载。如何在没有问题的情况下加载iframe?
答案 0 :(得分:0)
来自你的评论:
我无法控制以怪异模式呈现的页面;但是,我的内容必须加载到该页面上的标准框架中。
我不敢告诉你,你运气不好。
IE不支持同一页面上的帧之间的混合渲染模式。如果主页面处于怪异模式,那么该页面中的所有帧或iframe也将处于怪异模式,即使它们被编写为符合标准。
这就是它的工作原理,你无法覆盖它。
你的选择,正如我看到的那样:
找到升级父页面的方法,使其不再需要Quirks模式。 (我很欣赏这个选项可能不对你开放,但坦率地说,令人震惊的是,任何人仍然在2015年使用怪癖模式;那些认为他们通过不升级任何过时系统来节省资金的管理者需要给予唤醒 - 电话)
降级您的网页,以便它可以在怪癖模式下工作。请注意,如果您使用任何现代浏览器功能,则可能无法使用此选项,因为Quirks模式将以与IE5兼容的名称禁用这些功能。
在弹出窗口而不是框架中打开您的内容。这似乎是最实用的选择。它几乎可以肯定是最少量的工作(订单或数量级)。它可能看起来不像在iframe中那么好,但至少它会起作用。