如何使用javascript从父级添加样式表到iFrame?

时间:2011-06-02 15:17:52

标签: javascript html css iframe

我的JSFiddle:http://jsfiddle.net/gCRuk/1/

HTML:

My replays on SC-Replay.com:<br>
<iframe frameborder="0" name="frame" id="frame1" src="http://www.sc-replay.com/embedPlayer/21368-TheLindyHop.html" style="left: 0pt; position: relative; top: 0pt; width: 980px; height: 500px; border: 0px solid #00214E;" n="" vspace="0" marginheight="0" marginwidth="0" hspace="0" allowtransparency="true"></iframe>

使用Javascript:

var ss = document.createElement("link");
ss.type = "text/css";
ss.rel = "stylesheet";
ss.href = "http://www.lprestonsegoiii.com/WordPress/wp-content/themes/arjuna-x/style.css";

var iframe;
if(document.frames)
    iframe = document.frames["frame"];
else
    iframe = window.frames["frame"];
if(document.all)
    iframe.document.createStyleSheet(ss.href);
else
    iframe.document.getElementsByTagName("head")[0].appendChild(ss);

我遵循了这个指南:http://www.geekdaily.net/2007/09/19/javascript-adding-a-stylesheet-to-an-iframe/

我不确定这里发生了什么/出了什么问题。

1 个答案:

答案 0 :(得分:4)

一般来说,由于JavaScript Same Origin Policy,您无法执行该跨域。

iframe页面,容器页面和CSS文件都可以从同一个域提供,这是 GeekDaily 教程中假设的(但遗憾的是未提及!)。 / p>