web-dev-qa-db-fra.com

Puis-je appliquer CSS aux éléments d'une iframe?

Je vois souvent des sites utilisant des iframes contenant un site externe et un cadre supérieur contenant des fonctionnalités JavaScript pour l'utilisateur.

par exemple. logiciel d'analyse utilisateur, barre Digg, etc ...


Des conseils pour expérimenter quelque chose de similaire? =) Ce serait génial de savoir

19
RadiantHex

Non, pas de extérieur l'iframe. Une <iframe> est son propre monde. Si les domaines etc. correspondent, alors Javascript peut communiquer à l'intérieur et à l'extérieur, et pourrait (s'il le voulait) injecter du CSS dans un cadre enfant.

Si la <iframe> contient du contenu d'un domaine différent, vous ne pouvez pratiquement rien faire. La page parent contrôle la taille du cadre et s'il est visible, et peut mettre son propre contenu over le cadre en le positionnant, etc., mais elle ne peut pas affecter directement la façon dont le contenu réel du cadre est rendu.

26
Pointy

S'il s'agit du même domaine, vous pouvez interférer avec le contenu de l'iframe en utilisant javascript comme suit .. supposez que l'id de l'iframe est IframeId. Et vous voulez changer la couleur de l'élément ayant l'ID "elementId".

$("iframe").load(function() {
   var frameContents;
   frameContents = $("#IframeId").contents(); 
   frameContents.find("#elementId").css("color","#fff");
});
4