Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Hintergrundfarbe von Webseiten in auf in allen Frames und auf allen sich öffnenden Seiten Ändern





Frage

Folgendes Problem: Ich möchte einige Treiber und Tools die ich nach der Installation von Windows benötige auf eine CD Bennen und mir die Möglichkeit geben mir die Hintergrundfarbe je nach laune Auswählen zu können. Das ganze in CSS und HTML zu gestallten war nicht so schwierig. Auch das die CD sich automatisch öffnet wenn sie eingelegt wird ist erledigt. Nun kommt aber Java-Script ins Spiel. Und dabei stelle ich mich total Besch... an. Ich habe einen Script der es mir ermöglicht die Farbe Auszuwählen: <form> Farbwähler<br> <body> <input type="button" value="Gelb" onClick="document.bgColor=´yellow´ "> <input type="button" value="Blau" onClick="document.bgColor=´blue´ "> <input type="button" value="Weiß" onClick="document.bgColor=´white´ "> </form> </body> Ok, die Farben dienen hier nur als Beispiel. Den Script einfügen ist Problemlos und Funzt auch - allerdings nur auf der einen Seite. nun kommt das Problem: Ich arbeite mit Frames. Links die Navigation und rechts der Rest. Der Script soll im Rechten Frame auf der startseite.htm gestartet werden da auf dieser Seite keine weiteren Informationen stehen. Die Farbe soll aber Frameübergreifend auf allen Seiten Geändert werden bis das fenster geschlossen wird. Und nun meine Frage: wo muß ich welche Java-Scripte einfügen damit mein Wunsch Realität wird? Geht das ganze auch mit CSS? Auf Browserkompatibilität muß keine Rücksicht genommen werden, denn wenn das Betriebssystem neu Installiert wurde, ist eh nur der IE vorhanden.

Antwort 1 von Clan-Opa

Jo Hi,
da würde ich empfehlen, von den Frames weg zu gehen, und eine einzige Seite zu nehmen. Die Seite halt immer mit Variablen laden. Und wenn die Seite mit keiner Variable geladen wird, wird Standart-Farbe genommen.

Opa

Antwort 2 von Friedel

Das Problem ist recht einfach zu lösen. Füge in deinem Frameset folgendes im Head ein:

Zitat:
<script type="text/javascript">
<!--
var hintergrund="#ffffff";
//-->
</script>


In alle Seiten fügst du in Head ein:

Zitat:
<script type="text/javascript">
<!--
function hintergr() {
document.bgColor = parent.hintergrund;
//-->
</script>


und das Bodytag erweiterst du zu

Zitat:
<body onLoad="hintergr()">


Jetzt musst du nur noch dein Auswahlscript anpassen. Aus

Zitat:
<form> Farbwähler<br>
<input type="button" value="Gelb" onClick="document.bgColor=´yellow´ ">
<input type="button" value="Blau" onClick="document.bgColor=´blue´ ">
<input type="button" value="Weiß" onClick="document.bgColor=´white´ ">
</form>


wird

Zitat:
<form> Farbwähler<br>
<input type="button" value="Gelb" onClick="auswahl(´ffff00´)">
<input type="button" value="Blau" onClick="auswahl(´0000ff´)">
<input type="button" value="Gelb" onClick="auswahl(´ffffff´)">
</form>


Dass dein Body innerhalb des Formulars angefangen hat war natürlich vorher scjhon ein Fehler.

In die Seite mit dem Farbauswahlformular muss dann in den Head noch

Zitat:
<script type="text/javascript">
<!--
function auswahl(farbe) {
parent.hintergrund = farbe;
for(i=0;i<=parent.frames.length;i++) parent.frames[.i.].bgColor = farbe;
};
//-->
</script>



Beachte, dass hier im Forum alle einfachen Anführungszeichen in Akzentzeichen umgwandelt werden. Die Akzentzeichen musst du natürlich wieder durch einfache Anführungszeichen ersetzen, wenn du das Script kopierst. Außerdem würde [.i.] ohne Punkte als BBcode interpretiertwerden und die Schrift hier im Forum auf kursiv umstellen. Ich habe die beiden Punke eingebaut, damit das nicht passiert. Die müssen natürlich auch wieder entfernt werden damit das Script funktioniert.

Antwort 3 von Java DAU

@ Friedel:
Besten Dank für Deine Ausführliche Hilfe, werde es am Wochenende entsprechend Umbauen.
Die Beschreibung gleicht ja schon einer Anleitung wie was gemacht werden muß, ist also genau das was ich brauche. Ich lerne schließlich auch jeden Tag was dazu. Und mit der Beschreibung wird mir der Hintergrund auch so langsam klarer. Ich hab schon jede menge Tutorials heruntergeladen, aber so schön stand nirgends etwas Beschrieben.

Besten Dank nochmal.