停止IE / Edge窗口调整大小为iframe尺寸

时间:2017-12-14 23:33:23

标签: javascript jquery html ajax iframe

问题: 通过AJAX调用将内容加载到iframe时,IE / Edge会将浏览器窗口的大小调整为iframe的宽度和高度,而不是保留原始尺寸。 iframe包含<html><body>个标签,依此类推。

enter image description here

&#13;
&#13;
<iframe id="main" name="main" 
frameborder="0" width="100%" height="600" 
style="height: 600px !important; width: 100% !important;" 
scrolling="no" src="/en/courseid2900">
  #document
  <!DOCTYPE html>
  <html></html>
</iframe>
&#13;
&#13;
&#13;

(在IE / Edge中调用AJAX之前)

enter image description here

&#13;
&#13;
<iframe id="main" name="main" 
frameborder="0" width="100%" height=""
style="height: 696.796875px"
scrolling="no" src="/en/courseid2900">
  #document
  <!DOCTYPE html>
  <html lang="en-US" class=" -webkit-">...</html>
</iframe>
&#13;
&#13;
&#13;

(在IE / Edge中调用AJAX之后)

那么,有没有办法如何阻止调整窗口大小到iframe尺寸?可以通过jQuery或HTML hack来完成吗?谢谢。

1 个答案:

答案 0 :(得分:1)

iframe元素may not contain any content因此您在帖子中显示的代码是100%不正确的HTML。如果您想要iframe中的内容,可以使用src属性将其指向真实网址,也可以在JavaScript中手动构建iframe DOM节点,然后将其插入到文档中。

您在iframe元素中作为标记而不是通过JS进行DOM操作的任何内容都是iframe元素的定义,被视为父文档内容。根据你的帖子建议,你已经创建了一个包含两个 <html>部分的文档,并且浏览器会做出非常不正确的事情并不太令人惊讶:你做了一些非常不正确的事情=)< / p>