1

我有以下代码行

<iframe src="http://www.google.com" name="google" style="Z-INDEX: 0; MARGIN-TOP: -1px; WIDTH: 100%; HEIGHT: 1070px">
    <html>
         <head></head>
         <body>
             <div>Some image is here</div>
         </body>
    </html>
</iframe>

问题是 iframe 在 IE7 中不可见。仅当我添加样式时 iframe 才可见display: block;

我无权修改样式顶部 iframe,但我可以修改内部 html。

如何从我的 html 页面设置顶部 iframe 的样式?

4

2 回答 2

1

Iframe 内容受同域策略的约束。如果它来自您的域,您可以控制它,如果不是,您将被锁定。这可以防止各种基于 iframe 的页面劫持。

考虑到您可以直接访问,请执行以下操作:

你需要 JavaScript。这与在父页面中执行此操作相同,只是您必须在 JavaScript 命令前加上 iframe 的名称。

请记住,相同的来源策略适用,因此您只能对来自您自己的服务器的 iframe 执行此操作。

我使用 Prototype 框架使其更容易:

frame1.$('mydiv').style.border='1px solid #000000'

或者

frame1.$('mydiv').addClassName('withborder')
于 2013-08-28T09:08:32.847 回答
0

尝试这个。

<iframe id="f" width="200" height="200"></iframe>


----------
var s = document.getElementById('f');
s.contentDocument.write("welcome");
于 2013-08-28T08:58:49.540 回答