iframe更改内容CSS样式

时间:2013-05-20 21:21:09

标签: javascript jquery html css

我的网页里面有一个iframe,但我想更改css /字体样式等。

<iframe name='iframe1' id="iframe1" src='<?php echo "http://micro.shoretel.com/www/?v=$version&s=$style&l=$logo&p=" . $_GET["p"] ?>' frameborder='0' width='660' height='450'></iframe>

如何覆盖iframe内容的CSS样式?

2 个答案:

答案 0 :(得分:19)

如果iframe在您自己的域中加载了一个页面,并且您希望静态更改iframe的样式,那么您可以更改CSS文件中的样式规则,这就是@Justin808所指的。

但是,如果您想动态更改样式,iframe在您自己的域上加载页面,您可以使用jQuery执行此操作:< / p>

$("iframe").contents().find("element-selector").css("border-color", "blue");

如果iframe在另一个域上加载了某个网页,那你就不走运了,请点击this link,在那里你可以读一下为什么这样做'工作。

如果您使用的是HTML5 ,则可以使用postMessage在页面与iframe之间进行通信。

如果您对iframe 内的页面具有“编辑权限”,

@crdunst 的解决方案将正常运行,以便您可以对其进行编辑以了解传递给它的参数,然后使它对这些参数起作用。它不像使用jQuery那样动态,因为它只允许你通过重新加载iframe内的页面并传递另一组参数来改变样式。

答案 1 :(得分:5)

我不确定这是否是user2146515所指的内容,但如果您可以访问iframe中的网页,则可以在网址上传递值,然后在iframe内容中使用这些值:

<iframe src="http://www.youriframecontent.com?bg=ffffff&text=000000"></iframe>

然后在iframe页面中,检查值并根据这些值添加样式