Uwe Köstner: Alternatives Design

Hallo,
ich habe ein recht kniffliges Problem:
Ich habe meine website mit frames aufgebaut und würde meinen Besuchern nun gerne ein alternatives Design anbieten. Dazu würde ich ein neues frameset konstruieren, mit neuen graphischen Elementen im Navigationsframe.In den Hauptframe sollen nun die gleichen Seiten geladen werden, wie beim Ursprungsdesign. Da diese Seiten keine graphischen Elemente enthalten und alle Farbgebungen über ein externes Stylesheet festgelegt sind, müsste es doch möglich sein, diesen Seiten per script (Java?) zu sagen: "Wenn du in frameset 1 geladen wirst, benutze bitte CSS-Stylesheet1, wenn du in frameset 2 geladen wirst, benutze bitte Stylesheet 2. Damit wäre es mir dann möglich, bezüglich Text- und Hintergrundfarben eine Anpassung an das neue frameset vorzunehmen, ohne die Seiten doppelt auf den Server zu laden.
Ich hoffe, mir kann da jemand helfen! Vorab herzlichen Dank!

  1. Hi,

    schau dir mal die Seiten von Eric Mayer an http://www.meyerweb.com . Dieser hat das Problem zwar nicht mit Framesets gehabt, aber die Lösung sollte dir auch helfen. Dort wird das verwendete Stylesheet einfach im Cookie gespeichert.

    Ciao,
      WOlfgang

    1. Danke,
      das hat mir schon geholfen!
      Gruß, Uwe

  2. Hallo, Uwe.

    Wenn du in frameset 1 geladen wirst, benutze bitte CSS-Stylesheet1, wenn du in frameset 2 geladen wirst, benutze bitte Stylesheet 2.

    Das müsste relativ einfach möglich sein, indem die URL des Framesets abfragt, bspw. folgendermaßen:

    if (parent.location.href.indexOf('f1.html')!=-1) {
    document.write('<link rel="stylesheet" type="text/css" href="1.css" media="screen" />');
    } else {
     if (parent.location.href.indexOf('f2.html')!=-1) {
      document.write('<link rel="stylesheet" type="text/css" href="2.css" media="screen" />');
     }
    }

    Per <noscript> legt man ein Fallback-Stylesheet an.

    Ansonsten schaue dir doch einmal den Feature-Artikel http://aktuell.de.selfhtml.org/artikel/javascript/wertuebergabe/ an.

    Grüße,
    Mathias