我經常看到使用包含外部網站的iframe的網站,以及包含用戶的JavaScript功能的頂部框架。我可以將CSS應用於iframe中的元素嗎?
例如用戶分析軟件,Digg酒吧等...
任何提示嘗試類似的東西? =)會是真棒知道
我經常看到使用包含外部網站的iframe的網站,以及包含用戶的JavaScript功能的頂部框架。我可以將CSS應用於iframe中的元素嗎?
例如用戶分析軟件,Digg酒吧等...
任何提示嘗試類似的東西? =)會是真棒知道
不,從以外以外的iframe。一個是它自己的世界。如果域等匹配,那麼Javascript可以進出通信,並且可以(如果它想的話)將CSS注入到子框架中。
如果包含來自不同域的內容,那麼幾乎沒有什麼可以做的。父頁面控制框架的大小以及是否可見,並且可以通過定位等將其自己的內容放在框架上,但它不能直接影響實際框架內容的呈現方式。
如果它是相同的域,您可以使用JavaScript干擾iframe內容,如下所示。 假設iframe的ID爲IframeId
。而你想改變ID爲「elementId」的元素的顏色。
$("iframe").load(function() {
var frameContents;
frameContents = $("#IframeId").contents();
frameContents.find("#elementId").css("color","#fff");
});
非常感謝!如果該域與主頁完全相同,該怎麼辦? – RadiantHex 2010-07-20 11:46:04
如果您位於相同的域中,則來自父頁面的Javascript可能會混淆框架的內容。父頁面CSS不會影響框架頁面,但Javascript可以更改CSS或更改元素樣式等。 – Pointy 2010-07-20 13:34:15
是否有人使用一些技術來做到這一點人們說..嵌入子iframe或postMessage什麼的? http://pipwerks.com/2008/11/30/iframes-and-cross-domain-security-part-2/ http://johan.driessen.se/posts/resizing-cross-domain- I幀 – 2013-07-25 07:43:03