Womit wir wieder beim Thema "Unverträglichkeiten der verschiedenen Browser" wären... ;-)
Hm, so ganz sicher bin ich da noch nicht.
Das Script von Stefan sollte eigentlich komplett funktionieren.
Das mit dem zweiten bzw. dritten Frame, der nicht geladen wird, begreife ich noch nicht so recht.
Habt Ihr mal im Source nachgesehen (nur bei Navi4 mgl.)?
Da muesste sowas gleich oben stehen:
<BASE HREF="das_Verzeichnis_in_dem_die_Datei_steht">
Und dann duerfte es keine Rolle spielen, ob nun relative oder komplette URL-Angabe.
Ich habe mal geguckt, was das urspruenglche Script, was Markus angegeben hat, eigentlich anders macht.
Da sind nur ein document.clear, was eigentlich nichts machen duerfte, der Zusammenbau des kompletten URLs und die Tatsache, dass fuer Netscape erst BODY onload das Script ausgefuehrt wird. Mehr kann ich erst mal nicht erkennen.
Wenn noch jemand eine Lösung hat/bekommt/liest/... wäre ich dankbar.
Na ja, das Script aus der Zeitschrift tuts ja wohl.
Willst Du noch eine Variante?
Guck mal hier: http:///screenExa.net/js_notiz/tips/frame_set.htm
Das ist so aehnlich. Hier sind es lediglich Links zu einer Frameset-Datei, die ausgefuehrt werden, um dann passende Dateien in einen Frame zu laden. Da fehlt zwar der Automatismus, aber den kann man einbauen, eben nicht per HTML-Link sondern ueber JavaScript aufrufen.
Vielleicht etwas langwieriger beim Laden, weil zuerst die Standarddatei in den Frame geladen wird, dafuer aber universeller einsetzbar (Browser ohne bzw. mit abgeschaltetem JS bleiben nicht vollstaendig aussen vor).
Noch eine?
http://www.informatik.uni-dortmund.de/~sm/aw/js/faq//fenster/framecheck.html
Das ist die Antwort aus der FAQ von de.comp.lang.javascript auf die Frage
"Wie lade ich das Frameset zu einer bestimmten Datei nach?"
Laeuft uebrigens nach einem aehnlichen Prinzip, wie das, was ich benutzt habe.
Ansonsten wäre es nett, wenn mir noch jemand die beiden Fragen beantworten könnte, die ich zuletzt geschrieben habe.
Die Antworten sollst Du nun auch noch haben,
wenn auch
"> Hier nochmal zur Erinnerung:"
sicher nicht notwendig war. Ich lese das, was Du nachts halb eins und morgens kurz vor zehn schreibst, alles zusammen erst abends. Andere womoeglich auch :-)
- Was meinst du mit "Pack nur die Funktionen rein..."? (siehe Christines Antwort 23.8, 21:13) und
In so eine externe Datei kannst Du das gesamte Script reinschreiben, aber auch nur Teile.
Ich wuerde nur die Funktionen dort unterbringen, also
function is_msie()
{
// ...
}
function Framing()
{
// ...
}
function msieFraming()
{
// ...
}
function netscFraming()
{
// ...
}
Die anderen Script-Teile jeweils direkt in die einzelnen Dateien schreiben, das hier:
<script language="JavaScript">
<!--
msieFraming();
// -->
</script>
Sowieso in jeder Datei muss stehen:
<body onLoad="netscFraming()">
Warum ich gern nur Funktionen in externen Dateien unterbringe?
Das Ladeverhalten der Browser kann man vorher nicht 100%ig kennen, also den Zeitpunkt, zu dem die externen Dateien geladen werden. Deswegen schreibe ich Scriptbloecke, deren Ausfuehrungszeitpunkt mir wichtig ist, direkt in die Datei.
- Verstehe ich das richtig, das man nicht EINE Universal-JS-Datei ablegen kann, auf die dann alle Unterseiten gemeinsam zugreifen können, sondern dass man jede externe JS-Datei speziell für die einzelnen Unterseiten anpassen muss?
War das so rauszulesen?
Nein, natuerlich nicht. Der Sinn liegt gerade darin, nur eine externe Datei zu haben, die man immer wieder aus ganz unterschiedlichen Ecken aufrufen kann.
Noch'n Link?
"Wie kann ich Funktionen mehrfach verwenden?": <:http://www.informatik.uni-dortmund.de/~sm/aw/js/faq/jslib/fktlib.html>
Zu beachten naemlich der Hinweis, der dort gegeben wird bzgl. MIME-Type. Wird inzwischen gern vergessen, weil's nur bei Navi3 noch auffaellt.
So, Roman beendet :-)
Christine