Hintergrundfarbe in jeden Frame ändern?
Timon.Freitag
- javascript
0 Ingo Turski0 MudGuard
Hallo!
Ich habe jetzt bei SelfHTML alles danach duchgesucht. Nur mit den JavaScript/JScript-Frame-Beschreibungen geht das nicht so richtig!
Hier Das Skript:
<script>
<--
function ChangeBgColor(Farbe) {
for(var i=0; i <= parent.frames.length; i++) {
frames[i].document.getElementsByTagName("body")[0].bgColor = Farbe;
}
}
//--></script>
Hier der HTML-Code zum aufrufen der Funktion:
<font face="Tahoma,Verdana"><b>Hintergrundfarbe: </b>
<a href="javascript:ChangeBgColor('#FFCCFF');">Rosa</a> |
<a href="javascript:ChangeBgColor('#6699FF');">Blau</a>
Warum tut sich nicht's?
In der JavaScript Konsole (Mozilla Firefox 1.0.1) wird dieser Fehler angezeigt:
frames[i] has no properties
Fehler-Zeile:
frames[i].document.getElementsByTagName("body")[0].bgColor = Farbe;
Weiß jemand Rat?
Gruß,
Timon.
Hi,
parent.frames
frames[i]
fällt Dir hier nicht ein kleiner aber wesentlicher Unterschied auf? ;-)
freundliche Grüße
Ingo
Hi,
parent.frames
frames[i]fällt Dir hier nicht ein kleiner aber wesentlicher Unterschied auf? ;-)
freundliche Grüße
Ingo
Ja... jetzt schon!!!
Aber, warum geht dieser Skript jetzt nicht:
<script>
function ChangeBgColor(Farbe) {
Farbe = '#' + Farbe;
for(var i=1; i <= parent.frames.length; i++) {
with(parent.frames[i].document) {
getElementsByTagName("body")[0].bgColor = Farbe;
}
}
</script>
Firefox meint, dass ich drauf nicht zugreifen kann..., warum?
Hi,
for(var i=1; i <= parent.frames.length; i++) {
with(parent.frames[i].document) {
Lies mein anderes Posting (https://forum.selfhtml.org/?t=102697&m=631682) nochmal.
cu,
Andreas
Hi,
<script>
da fehlt das type-Attribut.
<--
function ChangeBgColor(Farbe) {
for(var i=0; i <= parent.frames.length; i++) {
Denk mal drüber nach. Du hast z.B. 1 Frame, dann ist parent.frames.length = 1.
Du fängst bei 0 mit der Numerierung an. Welches ist die höchste vorkommende Nummer?
Und bis zu welcher Nummer würde die Schleife in diesem Fall gehen?
frames[i].document.getElementsByTagName("body")[0].bgColor = Farbe;
Daß da was fehlt, hat Ingo ja schon bemerkt.
Ich würde aber statt des HTML-Attributs lieber die CSS-Eigenschaft ändern …
cu,
Andreas
Hi,
<script>
da fehlt das type-Attribut.
Ich weiß... das Script war ja nur so auf die schnelle. Und eigentlich nimmt jeder Browser als Alternative JavaScript!
Ich würde aber statt des HTML-Attributs lieber die CSS-Eigenschaft ändern …
Hab ich auch schon gehabt!
Gruß,
Timon