Marcus: Zweiframes - Fehlermeldung

Hi!

Hoffe ich nerve nicht zu sehr mit meiner, wahrscheinlich, Anfängerfrage:

Ich versuche das Beispielscript Zweiframes aus selfhtml zu verwenden. Nun bekomme ich stets beim Auslösen eines entsprechenden Links die Fehlermeldung

...
Fehler:Objekt erwartet
Code:0
URL:letzte *.htm Seite die vor Auslösen des Links mit der Zweiframes-Funktion in einen der betroffenen Zielframes geladen wurde.

Ich schätze der fehler ist trivial, aber ich habe keinen Plan von javascript und hoffe, daß mir einer weiterhilft.

Danke!

Marcus

  1. Moin!

    Schicke uns:

    • Einen Link auf das Frameset
    • Das verwendete Javascript
    • Die Stelle(html- Quelletxt), wo Du klickst
      Am besten allerdings einen Link zu Deinem Projekt.

    Solltest Du keine Möglichkeit haben Dein Projekt irgendwo temporär abzulegen kannst Du auch die entspechenden Stellen hier im Quelltext posten.

    Ich vermute den Fehler allerdings schlicht und einfach bei der Vergabe der Namen für die frames im Frameset, respektive deren Aufführung im Javascript, respektive der Prameterübergabe im Funktionsaufruf.

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
    1. Moin fastix!

      Habe das Projekt mal eben auf

      www.aquasunexpeditions.de geschossen. Da findet Ihr alles. Thx für die Hilfsbereitschaft.

      Marcus

      1. Hallo,

        ich will auch helfen ;-) :

        http://www.aquasunexpeditions.de geschossen. Da findet Ihr alles. Thx für die Hilfsbereitschaft.

        Mit freundlichen Grüßen

        André

        --
        ie:% fl:( br:& va:) ls:# fo:) rl:° n4:~ ss:{ de:] js:( ch:| mo:} zu:)
        Die Farbe eines Autos ist egal, hauptsache sie ist schwarz...
        http://forum.de.selfhtml.org/archiv/2003/10/60651/
        1. wenn wir dich nicht hätten ...!!!
          Es wäre niemand jemals auf diese Seite gekommen ...

          1. Hallo,

            wenn wir dich nicht hätten ...!!!
            Es wäre niemand jemals auf diese Seite gekommen ...

            Ich weiß... Jeden Tag eine gute Tat.

            Mit freundlichen Grüßen

            André

            --
            ie:% fl:( br:& va:) ls:# fo:) rl:° n4:~ ss:{ de:] js:( ch:| mo:} zu:)
            Die Farbe eines Autos ist egal, hauptsache sie ist schwarz...
            http://forum.de.selfhtml.org/archiv/2003/10/60651/
        2. Hi Zeromancer!

          Hattest Du ein Verständnisproblem oder ist das nur eine allgemeine Kampagne zur Reinhaltung der Deutschen Sprache?

          Marcus

          1. Hallo Marcus,

            nee, kein Verständnisproblem. Es wird hier nur gern gesehen, wenn man Links macht statt nur URLs zu posten.

            André

            --
            ie:% fl:( br:& va:) ls:# fo:) rl:° n4:~ ss:{ de:] js:( ch:| mo:} zu:)
            Die Farbe eines Autos ist egal, hauptsache sie ist schwarz...
            http://forum.de.selfhtml.org/archiv/2003/10/60651/
            1. Hi André,

              wird das nächste Mal gemacht, Sir!

              Inhaltlich konnte mir nur leider noch keiner weiterhelfen. :-(

              Marcus

              1. Hallo,

                wird das nächste Mal gemacht, Sir!

                Nanana! <zeige_finger_hoch_ermahn>

                Inhaltlich konnte mir nur leider noch keiner weiterhelfen. :-(

                Geduld du haben musst junger Jedi. Oder wie Nina Ruge zu sagen pflegt: Alles wird gut. Und deine Betonung sollte auf _noch_ liegen. ;-)

                Mit freundlichen Grüßen

                André

                --
                ie:% fl:( br:& va:) ls:# fo:) rl:° n4:~ ss:{ de:] js:( ch:| mo:} zu:)
                Die Farbe eines Autos ist egal, hauptsache sie ist schwarz...
                http://forum.de.selfhtml.org/archiv/2003/10/60651/
                1. *Der Newbie duckt sich und harrt der Dinge die da NOCH kommen werden* :-))

                  Ich habe übrigens derweil endlose Forumsbeiträge zu dem Thema gefunden, die mir alle nicht weiterhelfen konnten, liegt das vielleicht an mir?

                  1. Hallo Marcus,

                    ich habe ja noch nie mit Frontpage gearbeitet, aber wie kommen denn die diese Ausdrücke 'target="_self"' in deine Frames, hast du das von Hand gemacht oder hat das frontpage gemacht? Das hat da aber nichts zu suchen. Außerdem gibt es da vier öffnende <frameset ...>-Tags, aber nur drei schleißende </frameset>-Tags. Korrigier das mal, vielleicht geht es dann ja schon.

                    Gruß Gernot

                    1. Hallo Gernot,

                      habe die Targetangaben entfernt und den vierten Framesettag ergänzt. Leider hat sich am Verhalten nichts geändert. :-(

                      Marcus

                  2. Hallo Marcus

                    Du benutzt diese Funktion

                    function ZweiFrames(URI1,F1,URI2,F2) {
                      Frame1=eval("parent."+F1);
                      Frame2=eval("parent."+F2);
                      Frame1.location.href = URI1;
                      Frame2.location.href = URI2;
                    }

                    Dort tragen die zu ändernden Frames die Bezeichnung F1 und F2. Dann musst du sie in deinem Frameset mit name="F1" und name="F2" auch so nennen und nicht name="Links2" und name="Links4". Wie soll der Browser denn sonst wissen, was er ändern soll?

                    Das solte aber nach den Änderungen funktionieren.

                    Gruß Gernot

                    1. Ähem, wie bitte??? Das sind Parameter - beim Aufruf der Funktion werden sie mit den tatsächlichen Framenamen "gefüllt".

                      function ZweiFrames(URI1,F1,URI2,F2) {
                        Frame1=eval("parent."+F1);
                        Frame2=eval("parent."+F2);
                        Frame1.location.href = URI1;
                        Frame2.location.href = URI2;
                      }

                      Dort tragen die zu ändernden Frames die Bezeichnung F1 und F2. Dann musst du sie in deinem Frameset mit name="F1" und name="F2" auch so nennen und nicht name="Links2" und name="Links4". Wie soll der Browser denn sonst wissen, was er ändern soll?

                      1. Hallo Klaus

                        Ich habe meinen Fehler auch gerade bemerkt. Ich gehe der sache jetzt aber auch erst nicht mehr weiter auf den Grund, sitz schon zu lange am PC und mache Fehler! ;-)

                        Gruß Gernot

                        1. Hallo Klaus

                          Ich habe meinen Fehler auch gerade bemerkt. Ich gehe der sache jetzt aber auch erst nicht mehr weiter auf den Grund, sitz schon zu lange am PC und mache Fehler! ;-)

                          No problem ...
                          Ich verzweifel auch schon fast an der Sache. Mozilla spuckt als Fehler
                          "Fehler: ZweiFrames is not defined
                          Quelldatei:  javascript:ZweiFrames('hoteloben.htm','Links3','hotel.htm','Links4')
                          Zeile: 1"
                          aus, was aber doch definitiv nicht stimmt. Die Funktion ist da und ohne Fehler, oder seh ich den Wald vor lauter Bäumen nicht???

                          LG, Klaus

                          1. Hallo Klaus, hallo Marcus!

                            Das Problem ist immer noch auch das Frameset selbst, das ist ja auch total kompliziert aufgebaut bei den rows- und cols- Attributen fehlen glaube ich Kommas und man sollte wohl auch nicht Prozent- und Pixel-Angaben in ein und demselben <frameset>-Tag mischen. Bereinige das auch mal Marcus, vielleicht geht es dann!

                            Gruß Gernot

                        2. Hallo Gernot,

                          macht nix, hey, schönen Feierabend und danke für die Mühe! :-)

                          Marcus

                          P.S.: Vielleicht gibt es ja morgen eine Erleuchtung?

                    2. Hallo Gernot,

                      nach meinem Verständnis sind F1 und F2 hier Variablen die weiter unten aus dem href ausgelesen werden, und dort stehen dafür dann die von mir verwendeten Framenamen Links4 und Links3.

                      Gruß

                      Marcus

          2. Moin!

            Die Fehlermeldung weisst darauf hin, dass die function vom Interpreter nicht übersetzt wurde. Im Regelfall heisst das: irgendein Syntaxfehler davor oder darin.

            Davor kann keiner sein- der Bildwechsel funktioniert prima.
            Versuch mal die function völlig neu zu schreiben, ich finde offen gesagt _nichts_, bin aber auch schon ziemlich müde...

            Dabei kannst Du es gleich besser machen: und das teuflische und unnötige eval geschickt umgehen:

            function ZweiFrames(URI1,F1,URI2,F2) {
              parent.frames[F1].location.href = URI1;
              parent.frames[F2].location.href = URI2;
            }

            Sollte das dann immer noch nicht gehen schreibe einfach mal ein

            alert("geklickt");

            Wenn es klappt ein:

            alert(URI1+" - "+F1+" | "+URI2+" - "+F2);

            in die Funktion.

            geht das, dann lässt sich Funktion prinzipiell aufrufen. Geht es nicht liegt der Fehler woanders...

            So ganz nebenbei: Du bist Dir im klaren darüber, dass Frames an sich für die Seite ganz schädlich sein werden (Suchmaschinenunfreundlich³)- Zumal Du mittels JS "verlinkst" und Grafiken als "Linkunterlage" verwendest- Das sind gleich drei (deshalb Suchmaschinenunfreundlich³) Minuspunkte...

            MFFG (Mit freundlich- friedfertigem Grinsen)

            fastix®

            --
            Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
  2. Moin!

    Du hast einen sehr blöden, aber schwer findbaren Fehler gemacht.

    URL:letzte *.htm Seite die vor Auslösen des Links mit der Zweiframes-Funktion in einen der betroffenen Zielframes geladen wurde.

    Das ist, was letztendlich die entscheidende Information war. Mein Opera hat mir als Fehlerstelle nämlich immer "home.htm" angezeigt, was mir erst ganz zuletzt aufgefallen ist.

    Ich schätze der fehler ist trivial, aber ich habe keinen Plan von javascript und hoffe, daß mir einer weiterhilft.

    Du hast keinen Fehler in Javascript, du hast einen in HTML:

    In deiner Navigationsseite "neue_seite_2.htm" stecken sowohl das absolut korrekte Javascript als auch die Aufrufe dieser Funktion mittels href="javascript:ZweiFrames(....)".

    Aber dummerweise ist in den Links auch noch ein TARGET angegeben. Target bedeutet: Die angegebene Seite soll nicht in diesem, sondern dem angegebenen Fenster oder Frame geladen werden - bei normalen HTTP-Links jedenfalls. Bei Javascript bedeutet es, dass die Funktion in dem angegebenen Fenster aufgerufen wird. Da aber in der "home.htm" die ZweiFrames-Funktion nicht definiert ist, gibts den Fehler.

    Augenfällige Lösung: Entferne das Target in allen Links der Navigation.

    - Sven Rautenberg