Jquery 无法在internet explorer中将样式表添加到iframe

Jquery 无法在internet explorer中将样式表添加到iframe,jquery,css,internet-explorer,iframe,Jquery,Css,Internet Explorer,Iframe,我正在使用一个外部iframe,我想用我自己的css设置它的样式。iframe由javascript加载和创建,而javascript本身由另一个javascript加载。由于这是一家公司提供的服务,我无法控制他们的javascript产品或iframe内容 到目前为止,我使用jquery所做的是使用window onload将所有自定义css文件加载到iframe中,如下所示: window.onload=function(){ $('iframe').addClass('styledIfra

我正在使用一个外部iframe,我想用我自己的css设置它的样式。iframe由javascript加载和创建,而javascript本身由另一个javascript加载。由于这是一家公司提供的服务,我无法控制他们的javascript产品或iframe内容

到目前为止,我使用jquery所做的是使用window onload将所有自定义css文件加载到iframe中,如下所示:

window.onload=function(){
$('iframe').addClass('styledIframe');
var$c=$('.styledIframe').contents();
//将此文档中的所有样式克隆到iframe中
$c.find('head').append($('style,link[rel=stylesheet]).clone();
}
iframe每次加载时都会更改ID,因此我添加了类“styledIframe”。我的问题是:除了InternetExplorer,它在所有浏览器中都能完美工作,我在IE9和更低版本中试用过,但在任何浏览器中都不起作用


如何在IE中实现这一点?

您不能从iFrame中设置元素的样式,因为从技术上讲,它们不存在于页面上,而是存在于另一台服务器上。但是,如果iFrame来自同一台服务器,则可以设置样式-这是一个安全问题。 我知道第三方噩梦,但事实就是这样。您只能要求他们在其服务器上安装您的样式,或要求他们自己更改内容的样式以适合您。

请参阅