Ok, voici la situation. J'ai un site auquel je suis abonné qui vous permet d'ajouter votre propre code, etc. Ils ont un éditeur de forum que je suis incapable d'adapter à mon site, donc je voudrais juste changer les couleurs du cadre le plus interne (doc3 dans l'exemple ci-dessous).Accéder à une image dans une image
Voici la configuration de base ... oui, tous les documents proviennent du même domaine mais je peux seulement ajouter du code au document principal. Le cadre doc3 est créé dynamiquement. La première image a une classe mais pas de nom, la seconde seulement a un identifiant ... Je ne sais pas si la liaison fonctionne pour le cadre interne, mais firebug ne me donne pas d'erreur.
Oh, et j'ai essayé d'injecter une feuille de style sans succès.
Document principal (avec mes tentatives de doc3 accès)
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('iframe').bind('load', function(){
$(this).contents().find('body').css({'background-color':'#333333','color':'#ddd'}); // This does change doc2 colors
$(this).contents().find('iframe#doc3').bind('load', function(){
$(this).contents().find('body').css({'background-color':'#333333','color':'#ddd'}); // doesn't work :(
})
})
})
</script>
</head>
<body>
Document #1
<iframe class="postFrame" src="doc2.htm" width="100%" height="300">
</body>
</html>
doc2.htm
<html>
<head>
</head>
<body>
<form id="form1">
Document #2
<iframe id="doc3" src="doc3.htm" width="100%" height="250">
</form>
</body>
</html>
doc3.htm
<html>
<head>
</head>
<body style="background-color:#fff; color:#000;"> <!-- access this body style -->
Document #3
</body>
</html>
J'espère que je l'ai fait assez clair. Toute aide ou un point dans la bonne direction serait grandement appréciée :)
Edit: mis à jour le document principal avec la suggestion de Wahnfrieden (! Merci), mais malheureusement je ne peux toujours pas à doc3.htm
Merci Colin! Cela a fonctionné, mais j'ai dû changer la ligne doc3 ".contents ('iframe')" en ".find ('iframe')" ... iframe2body.find ('iframe'). Contents(). Find ('body'). css ({'background-color': '# 555', 'color': '# ddd'}); // doc3 colors – Mottie
Malheureusement, je viens de découvrir que doc3.htm charge un fichier CSS qui a un "! important" après la couleur de fond et la couleur du texte = (... je suppose que je vais devoir charger une feuille de style – Mottie