问题:
通过AJAX调用将内容加载到iframe时,IE / Edge会将浏览器窗口的大小调整为iframe的宽度和高度,而不是保留原始尺寸。 iframe包含<html><body>
个标签,依此类推。
<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;
(在IE / Edge中调用AJAX之前)
<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;
(在IE / Edge中调用AJAX之后)
那么,有没有办法如何阻止调整窗口大小到iframe尺寸?可以通过jQuery或HTML hack来完成吗?谢谢。
答案 0 :(得分:1)
iframe元素may not contain any content因此您在帖子中显示的代码是100%不正确的HTML。如果您想要iframe中的内容,可以使用src
属性将其指向真实网址,也可以在JavaScript中手动构建iframe DOM节点,然后将其插入到文档中。
您在iframe元素中作为标记而不是通过JS进行DOM操作的任何内容都是iframe元素的定义,被视为父文档内容。根据你的帖子建议,你已经创建了一个包含两个 <html>
部分的文档,并且浏览器会做出非常不正确的事情并不太令人惊讶:你做了一些非常不正确的事情=)< / p>