Newsgroup: it.comp.lang.javascript
Titolo: Cambiare colore di sfondo a documento in iframe

Ciao.
Domanda banale:
come posso modificare il colore di sfondo del documento referenziato
dal percorso src di un iframe?
Ho provato con questo codice ma non cambia niente:
--------------------------------------------
<html>
<body>
<iframe id="ifrWebMail" src="...."></iframe>
<script type="text/javascript">
function ChangeFr(){
    var ifrWebMail = document.getElementById("ifrWebMail");
    ifrWebMail.document.bgColor = "#ffffff";
    ifrWebMail.document.body.bgColor = "#ffffff";
    ifrWebMail.document.body.style.backgroungColor = "#ffffff";
}
ChangeFr();
</script>
</body>
</html>
--------------------------------------------
Grazie,
Matteo Migliore. 

     ifrWebMail.document.body.style.backgroungColor = "#ffffff";
Quanto sopra a naso dovrebbe andare (backgroundColor, c'č una g al posto di
una d, ma penso sia un errore di battitura)
-- 
"Emancipate yourselves from mental slavery;
None but ourselves can free our minds"
									    B.M.

 Ho provato con questo codice ma non cambia niente:
Anche se ne è stato già discusso più volte: tramite getElementById()
recuperi il riferimento all'elemento "iframe", non un puntatore alla
finestra che è "contenuta" nell'elemento iframe.
Un rapido debugging ti avrebbe fatto notare come, nel migliore dei casi,
"ifrmWebMail.document" puntasse al documento corrente.
Vi sono due modi per recuperare il riferimento alla finestra contenuta
nell'iframe. Tramite collection frames:
	window.frames[0].document.body.style.backgroundColor="#ffffff";
	window.frames["frameName"].document.body.style.backgroundColor="#ffffff";
	(in questo caso devi impostare anche il *name* non solo l'id)
Oppure, tramite DOM (Level 2, quindi browser vetusti non lo supportano. IE
dalla versione 5.5 ad esempio):
document.getElementById("ifrWebMail").contentWindow.document.body.style.backgroundColor="#ffffff";
-- 
~ Il lavoro è prezioso. Non essere egoista! Lascialo agli altri!

 document.getElementById("ifrWebMail").contentWindow.document.body.style.backgroundColor="#ffffff";
Non mi funziona lo stesso ottengo l'errore
"Access is denied"
sia con window.frames[....]
che con document.getElementById("....").
Grazie,
Matteo Migliore. 

 che con document.getElementById("....").
:-O domini diversi? se sì non puoi farci nulla (Ci mancherebbe), cerca SOP
con google.
-- 
"qualcuno è andato per età
 qualcuno perchè già dottore
 e insegue una maturità, si è sposato, fa carriera
 ed è una morte un po' peggiore"
									    F.G.

 "Access is denied"
Funzionare funziona. Infatti riesci a riferirti al documento corretto, cosa
che prima non facevi.
Se hai l'accesso negato, significa con tutta probabilità che stai violando la
SOP (Same Origin Policy). Se vuoi modificare una pagina da un'altra, entrambe
devono avere la medesima origine, il medesimo dominio.
Detta in soldoni, non puoi caricare dal tuo sito una pagina del mio sito e poi
pretendere di modificarla a runtime.
-- 
Peace is a lie, there is only passion. Through passion, I gain strength.
Through strength, I gain power. Through power, I gain victory.
Through victory, my chains are broken. The Force shall free me. (Sith Code)

 pretendere di modificarla a runtime.
E' un servizio messo a disposizione dal nostro provider di webmail,
che abbiamo integrato nel nostro CMS ma hanno
pensato bene di creare una pagina con sfondo viola,
da qui la necessità di cambiare il colore dello sfondo.
Vorrà dire che faccio il parser delle pagine lato server,
ne creo una runtime e modifico l'html come più mi piace :-D.
(Se fosse un sito commerciale su cui non abbiamo
alcun diritto ovviamente non lo farei!)
Grazie (anche a Cristiano ovviamente),
Matteo Migliore. 

 Grazie (anche a Cristiano ovviamente),
De nada.
-- 
There is no emotion; there is peace.
There is no ignorance; there is knowledge.
There is no passion; there is serenity.
There is no death; there is the Force. (Jedi Code)