Matthias: 2 Frames gleichzeitig öffnen

Hallo!
Ich wollte in meine Seite ein Javascript einbinden nach der Anleitung, die ich hier gefunden habe. Allerdings klappt das irgendwie nicht, und ich weiss nicht warum! Vielleicht kann mir ja jemand sagen was falsch ist. Ich habe ein frame Menu mit folgendem text im head:

<script type="text/javascript">
<!--
function ZweiFrames(URI1,F1,URI2,F2) {
  Frame1=eval("parent."+F1);
  Frame2=eval("parent."+F2);
  Frame1.location.href = URI1;
  Frame2.location.href = URI2;
}
//-->
</script>

und diesem Text im body:

<a href="javascript:ZweiFrames('mainMenunreins.htm','Menu','nreins.htm','Hauptframe')">

die Frames Menu und Hauptframe sind auch in der Frameseite definiert:

<frame name="Menu" target="Hauptframe" scrolling="no" src="mainMenu.htm" marginwidth="0" marginheight="0" noresize>
    <frame name="Hauptframe" marginwidth="10" marginheight="10" scrolling="auto" src="mainMattesPudding.htm" target="_self">

Was fehlt/ was ist falsch/ worauf muss ich sonst noch achten?
Danke!

  1. Hallo Matthias,

    Was fehlt/ was ist falsch/ worauf muss ich sonst noch achten?

    Das sieht soweit ich sehen kann richtig aus. Kannst Du vielleicht irgendwo mal eine Testseite hochladen?

    Christian

    --
    Ich bitte darum, dass ein Themenbereich (BARRIEREFREIHEIT) eingerichtet wird.
    1. Hallo Matthias,

      Was fehlt/ was ist falsch/ worauf muss ich sonst noch achten?

      Das sieht soweit ich sehen kann richtig aus. Kannst Du vielleicht irgendwo mal eine Testseite hochladen?

      Christian

      Hm, kann ich dir auch zumuten, dir die Orginal-Seite anzuschauen?

      http://www.gehirnpudding.de/Mattes/test/mainMattes.htm ist die frameseite,
      http://www.gehirnpudding.de/Mattes/test/mainMenu%20mit%20javascript.htm ist das Menu, und da soll dann der link "nreins usw." mit http://www.gehirnpudding.de/Mattes/test/mainMenunreins.htm als neues Menu und http://www.gehirnpudding.de/Mattes/test/nreins/nreins.htm als Hauptframe verlinkt werden.

      Ich danke!

      1. Hallo Matthias,

        Hm, kann ich dir auch zumuten, dir die Orginal-Seite anzuschauen?

        Ja doch, ich habe schon wesentlich schlimmere gesehen. :-)

        http://www.gehirnpudding.de/Mattes/test/mainMattes.htm ist die frameseite,
        http://www.gehirnpudding.de/Mattes/test/mainMenu%20mit%20javascript.htm ist das Menu, und da soll dann der link "nreins usw." mit http://www.gehirnpudding.de/Mattes/test/mainMenunreins.htm als neues Menu und http://www.gehirnpudding.de/Mattes/test/nreins/nreins.htm als Hauptframe verlinkt werden.

        Du hast mich soeben meines Verständnisses für HTML und JavaScript beraubt. Ehrlich! Ich habe die Seite mir 10x angesehen und ich habe bis jetzt nicht verstanden, warum das nicht klappt. Ich habe sie durch den Validator gejagt, um zu sehen, ob da ein Problem vorhanden ist, der findet aber nur ein paar falsch verschachtelte <font>-Tags, die nichts mit dem Problem zu tun haben können. Ich habe dann in meiner Verzweiflung die Seite lokal abspeichern lassen und wollte da anfangen, das irgendwie zu debuggen. Jetzt darfst Du drei mal raten, was passiert ist: Es hat funktioniert! Die gleiche Seite hat lokal _problemlos_ funktioniert. Ich verstehe das nicht. Etwas serverseitiges kann es auch nicht sein, die Menüseite wird korrekt als text/html vom Webserver ausgeliefert und sie bindet nichts externes ein, es kann praktisch nur etwas Clientseitiges sein. Aber etwas Clientseitiges kann es ja auch nicht sein, da exakt dieselbe Seite lokal funktioniert. Die Seite _müßte_ online problemlos funktionieren. Ich habe mal den Titel geändert, vielleicht wird so noch jemand auf den Thread aufmerksam, der vielleicht etwas dazu beitragen kann.

        Christian

        --
        Ich bitte darum, dass ein Themenbereich (BARRIEREFREIHEIT) eingerichtet wird.
        1. Hallo Matthias,

          Du hast mich soeben meines Verständnisses für HTML und JavaScript beraubt. Ehrlich! Ich habe die Seite mir 10x angesehen und ich habe bis jetzt nicht verstanden, warum das nicht klappt. Ich habe sie durch den Validator gejagt, um zu sehen, ob da ein Problem vorhanden ist, der findet aber nur ein paar falsch verschachtelte <font>-Tags, die nichts mit dem Problem zu tun haben können. Ich habe dann in meiner Verzweiflung die Seite lokal abspeichern lassen und wollte da anfangen, das irgendwie zu debuggen. Jetzt darfst Du drei mal raten, was passiert ist: Es hat funktioniert! Die gleiche Seite hat lokal _problemlos_ funktioniert. Ich verstehe das nicht. Etwas serverseitiges kann es auch nicht sein, die Menüseite wird korrekt als text/html vom Webserver ausgeliefert und sie bindet nichts externes ein, es kann praktisch nur etwas Clientseitiges sein. Aber etwas Clientseitiges kann es ja auch nicht sein, da exakt dieselbe Seite lokal funktioniert. Die Seite _müßte_ online problemlos funktionieren. Ich habe mal den Titel geändert, vielleicht wird so noch jemand auf den Thread aufmerksam, der vielleicht etwas dazu beitragen kann.

          Christian

          Hm, bei mir klappts allerdings auch lokal nicht...
          Ich hab von jemandem gehört, dass man sowas auch mit nem onload-Befehl umgehen könnte, was hältst du denn davon? Hauptsache der Zweck wird erreicht...

          Matthias

          1. Hi zusammen,

            Der Fehler liegt hier mal wieder woanders, als man es zuerst vermutet. Das ist kein JavaScript Problem, sondern ein HTML Problem. Die Funktion ist völlig richtig, nur wird sie nicht angesprochen weil:

            <base target="Hauptframe">

            Also werden alle Verweise an des Dokument in "Hauptframe" weitergeleitet, wenn es nicht ausdrücklich anders angegeben ist, nur dass sich dort keine Funktion "ZweiFrames" gibt. Genau das sagen übrigens auch die Fehlermeldungen aus, die man in den Browsern bekommt. (Beim Netscape einfach javascript: in die Adresszeile tippen und beim IE aif dieses kleine Achtung-Symbol in der Statuszeile links unten klicken.

            Du hast zwas bei allen Verweisen auf html-Dateien die im "Menu" Frame angezeigt werden sollen brav target="_self" angegeben, aber es bei dem Link auf die Javascript-Funktion vergessen. Die relevante Zeile müsste so aussehen:

            <a href="javascript:ZweiFrames('mainMenunreins.htm','Menu','nreins.htm','Hauptframe')" target="_self">

            Dann klappts auch mit dem Nachbarn ;)

            Alles gute noch
            Marcus

            PS: Leerzeichen in Dateinamen und eval() mögen zwar funktionieren, aber sind böse!!!

            1. PS: Leerzeichen in Dateinamen und eval() mögen zwar funktionieren, aber sind böse!!!

              das mach ich ja normalerweise auch nicht...

              Vielen Dank! es klappt! (Hab auch noch vergessen, dass nreins in nem unterordner liegt...grrr)

  2. hallo mathias,

    anbei habe ich eine einfachere version.

    <!--in den Head-Bereich-->

    <script language="JavaScript">
    function startseite()<!--Hier wird vom Leftframe der Top- und Mainframe geändert-->
    {
        parent.topFrame.location = "test1.html";
        parent.mainFrame.location = "test2.html";
    }
    function kontakt()<!--Hier wird vom Leftframe der Left- und Mainframe geändert-->
    {
        self.location = "test2.html";
        parent.mainFrame.location = "test1.html";
    }
    </script>

    <!--in den Body-Bereich beim Hyperlink-->

    <a href="javascript:startseite()">Link 1</a>
    <a href="javascript:kontakt()">Link 2</a>

    gruß roger

    Hallo!
    Ich wollte in meine Seite ein Javascript einbinden nach der Anleitung, die ich hier gefunden habe. Allerdings klappt das irgendwie nicht, und ich weiss nicht warum! Vielleicht kann mir ja jemand sagen was falsch ist. Ich habe ein frame Menu mit folgendem text im head:

    <script type="text/javascript">
    <!--
    function ZweiFrames(URI1,F1,URI2,F2) {
      Frame1=eval("parent."+F1);
      Frame2=eval("parent."+F2);
      Frame1.location.href = URI1;
      Frame2.location.href = URI2;
    }
    //-->
    </script>

    und diesem Text im body:

    <a href="javascript:ZweiFrames('mainMenunreins.htm','Menu','nreins.htm','Hauptframe')">

    die Frames Menu und Hauptframe sind auch in der Frameseite definiert:

    <frame name="Menu" target="Hauptframe" scrolling="no" src="mainMenu.htm" marginwidth="0" marginheight="0" noresize>
        <frame name="Hauptframe" marginwidth="10" marginheight="10" scrolling="auto" src="mainMattesPudding.htm" target="_self">

    Was fehlt/ was ist falsch/ worauf muss ich sonst noch achten?
    Danke!