我有以下代码行
<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>
问题是在IE7中看不到iframe。仅当我添加样式display: block;
我没有权限修改样式顶部iframe,但我可以修改内部html。
如何从我的html页面设置顶级iframe的样式?
答案 0 :(得分:1)
Iframe内容受同域政策的约束。如果它来自您的域名,您可以控制它,如果没有,您就被锁定了。这可以防止各种基于iframe的页面劫持。
考虑到您可以直接访问,请执行以下操作:
你需要JavaScript。它与在父页面中执行的操作相同,除非您必须在JavaScript命令前添加iframe的名称。
请记住,相同的原始政策适用,因此您只能对iframe来自您自己的服务器执行此操作。
我使用Prototype框架使其更容易:
frame1.$('mydiv').style.border='1px solid #000000'
或
frame1.$('mydiv').addClassName('withborder')
答案 1 :(得分:0)
试试这个。
<iframe id="f" width="200" height="200"></iframe>
----------
var s = document.getElementById('f');
s.contentDocument.write("welcome");