Bin ratlos: Riesenproblem mit Verweisen in andere Frames

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Bin ratlos: Riesenproblem mit Verweisen in andere Frames

    Hallo

    Ich bin auf ein Problem bei meiner Seite aufmerksam geworden, das mir schon seit Tagen kopfzerbrechen bereitet.

    Es geht um Folgendes: Meine Seite swisstrain.net besteht aus Frames, auf dem IE geht auch alles einwandfrei. In der Navi habe ich einige Verweise, die zwei Frames gleichzeitig ändern, dies hab ich mit dem JavaScript von selfhtml auch gut lösen können. Leider macht da der Netscape nicht mit und wechselt nur ein Frame. Komischerweise funktioniert das Script jedoch beim NS, wenn es auf einer Hauptseite, z.B. der Startseite (unten bei den Updates) ist. Von der Navi aus aber nicht. Ich weiss überhaupt nicht, woran das liegt...
    Und jetzt kommt noch der Hammer: Habe auch einige einfache Links in der Navi (z.B. auf der Hauptseite bei der Navi den Link zur Startseite). Dies ist einfach ein Link mit target="haupt". Im Frameset habe ich das Hauptfenster auch so benannt. Warum zum Teufel öffnet dann dieser Netscape die Seite in einem neuen Fenster??????

    Um Hilfen oder Ratschläge wäre ich sehr froh.

    Vielen Dank jetzt schon an alle Helfer

    swisstrain

  • #2
    hmmm, hab leider kein NS auf meinem Rechner

    php-Entwicklung | ebiz-consult.de
    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
    die PHP Marktplatz-Software | ebiz-trader.de

    Kommentar


    • #3
      PS: bis sowieso kein Freund von FRAMES

      nette Seite hast du da!
      berni

      php-Entwicklung | ebiz-consult.de
      PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
      die PHP Marktplatz-Software | ebiz-trader.de

      Kommentar


      • #4
        eigentlich bin ich auch kein freund von frames, aber ich komm leider nicht drum herum... das prob hab ich aber trotzdem noch...

        swisstrain

        Kommentar


        • #5
          Habe mir die Seite noch nicht angesehen, aber es klingt mal wieder nach einer inkompatibilität.
          Kommt darauf an, wie Du in JavaScript die URL änderst:

          über document.location? Das gibt es nur im IE!
          windows.location wird von beiden vestanden.

          capsfan
          Coden ist der schmale Grat zwischen geistiger Herausforderung und Wahnsinn.

          Kommentar


          • #6
            Also am JavaScript kanns nicht liegen, in Einzeltests mit einem einfachen Testframeset hats auf beiden Browsern funktioniert...

            swisstrain

            Kommentar


            • #7
              Versuch's mal mit top statt mit parent
              mein Sport: mein Frühstück: meine Arbeit:

              Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

              Kommentar


              • #8
                Situation unverändert...
                Beim IE gehts auch so ohne Probleme, der NS stellt sich immer noch quer. Also ich hab das Gefühl, dass der NS nen Bug hat.

                swisstrain

                PS: Zur aktuellen Umfrage: Netscape hätte die Bude schon längst schliessen müssen: Anstatt anständige und funtionierende Browser zu machen werden bestehende verschlechtert (z.B. vom 4.7x auf den 6er...). Leider sind trotzdem noch 15 bis 20% meiner Besucher mit diesem Müllgerät unterwegs und deshalb versuche ich trotzdem, die Seite wenigstens einigermassen brauchbar auf dem NS zum laufen zu bringen...

                Kommentar


                • #9
                  Habe jetzt mal reingeschaut...

                  Frage zum Frameset:

                  Ist der innerste Frame (haupt) ein iframe?
                  Die kennt NS überhaupt nicht...
                  capsfan
                  Coden ist der schmale Grat zwischen geistiger Herausforderung und Wahnsinn.

                  Kommentar


                  • #10
                    Nein, es ist ein ganz gewöhnliches Frameset ohne Iframes oder dergleichen...

                    swisstrain

                    Kommentar


                    • #11
                      hmm ... sollte man die Frames nicht ab 0 durchnummerieren? Bin momentan auch ratlos... seltsam daß der IE das gewünschte fabriziert. Geschachtelt sind die Frames nicht, oder?
                      mein Sport: mein Frühstück: meine Arbeit:

                      Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                      Kommentar


                      • #12
                        Hier mal das Frameset sauber dargestellt:
                        Code:
                        <frameset cols="796,*" border=0 frameborder=0 framespacing=0>
                          <frameset rows="80,*" border=0 frameborder=0 framespacing=0>
                            <frame src="http://hpt.swisstrain.net/head.php3" name="header" scrolling=no noresize marginwidth=0 marginheight=0>
                            <frameset cols="170,*" border=0 frameborder=0 framespacing=0>
                              <frameset rows="*,49,1" border=0 frameborder=0 framespacing=0>
                                <frame src="http://nav.swisstrain.net/nav.php3" name="verweise" scrolling=auto noresize marginwidth=0 marginheight=0>
                                <frame src="http://hpt.swisstrain.net/nav_unten.php3" name="hinweise" scrolling=no noresize marginwidth=0 marginheight=0>
                                <frame src="http://hpt.swisstrain.net/unten.php3" name="unten" scrolling=no noresize marginwidth=0 marginheight=0>
                              </frameset>
                              <frame src="http://www.swisstrain.net/swisstrain.php3" name="haupt" scrolling=auto noresize marginwidth=0 marginheight=0>
                            </frameset>
                          </frameset>
                          <frame src="http://hpt.swisstrain.net/frames_seite.php3" name="rechts" scrolling=no noresize marginwidth=0 marginheight=0>
                        </frameset>
                        So, und noch das Script, mit dem ich die 2 Frames wechsle:
                        Code:
                          <script language="JavaScript" type="text/javascript">
                          <!--
                          function zweiframes(URL1,F1,URL2,F2)
                            {
                              top.frames[F1].location.href = URL1;
                              top.frames[F2].location.href = URL2;
                            }
                          //-->
                          </script>
                        
                        Auf Vorschlag von Titus habe ich das vorherige "parent.frames" durch "top.frames" ersetzt. jedoch ist alles unverändert geblieben.
                        
                        Noch ein Beispiellink, mit der ich die Funktion aufrufe:
                        
                        <a href="javascript:zweiframes('http://nav.swisstrain.net/akt.php3',1,'http://aktuell.swisstrain.net/aktuell.php3',4)">Aktuell</a>
                        Frames kann man beliebige Namen geben, solange die kein Leerschlag oder solche Sonderzeichen (auch ä, ö, ü) haben. Jedoch ist es auch möglich, diese über ihre indexnummer, die ihnen automatisch gegeben wird anzusprechen. Das fenster mit den Verweisen hat also den Index 1 und das Hauptfenster 4.
                        Noch zu den Fensternamen:
                        - header: Das ist der Kopf der Seite
                        - verweise: Dor ist die Navi drin
                        - hinweise: Das kleine Fenster direkt unterhalb der Navi mit dem Conter / last updates
                        - unten: Ein 1 Pixel hohes Frame unterhalb von hinweise. Hat zwar jetzt noch keinen Sinn, jedoch wird das dann etwas grösser werden, wenn die Suchfunktion rein kommt, habs deswegen etwas verkleinert;-)
                        - haupt: Das Hauptfenster mit den Seiten
                        - rechts: Bei grösseren Auflösungen wird nicht die seite verzerrt, sondern rechts ein weiteres fenster ohne Inhalt gezeigt. Bei 800*600 nicht sichtbar. Jedoch kanns an dem nicht liegen.

                        Das Eigenartige ist jetzt, wenn aus der swisstrain.php3 im Hauptfenster mit dem gleichen Script (siehe oben) wie in der Navi zwei frames wchseln will, geht das auch beim NS! Von der Navi aus aber nicht...

                        Was mich aber vor allem stört ist, dass der NS von der Navi aus immer wieder ein neues Lenster öffnet, wenn ich mit einem Link in der Art arbeite, was ja eigentlich Standart ist: <a href="http://swisstrain.net/swisstrain.php3" target="haupt">Home</a>

                        Das sollte doch eigentlich gehen, ist ja hundgewöhnliches HTML.

                        Also ich weiss ehrlich gesagt nicht mehr weiter...

                        Gruss

                        swisstrain

                        Kommentar


                        • #13
                          Leider kann hab ich auch keinen Stein der Weisen gefunden, der dir bei deinem NS-Problem weiterhelfen könnte.

                          Das einzige, was mir nach Betrachtung der Seiten aufgefallen ist, ist diese Meldung der JavaScript-Console:

                          Code:
                          JavaScript Error: [url]http://nav.swisstrain.net/nav.php3[/url], line 11:
                          
                          access disallowed from scripts at
                          [url]http://nav.swisstrain.net/nav.php3[/url] to documents at another domain.
                          Für mich sieht es so aus, als ob sich NS weigert, Scripte über Subdomains hinweg auszuführen. Dass Cross-Frame Manipulationen über Domains hin nicht mehr zulässig sind war mir bekannt, dass NS aber auch bei subdomains meckert... strange.
                          Ich würde folgendes probieren (um meine These zu überprüfen): Probier mal lokal auf deiner Festplatte das Script in deiner Frame-Anordnung mit dem NS aus, wenn's funzt deutet es darauf hin, dass wohl irgendwas mit den Domains die Ursache ist.
                          Was leider auch die Lösung noch kein Stück näher bringt...

                          Eins noch: Ich bin auch regelmäßig von den schwachen Script-Eigenschaften des NS4 enttäuscht, aber die Behauptung, der 6er wäre eine Verschlechterung, kann ich so nicht nachvollziehen. Hat halt ein anderes, standardisiertes DOM, und das ist gut so. Aber besser ich hör hier auf bevor ich noch total offtopic werde.

                          Kommentar


                          • #14
                            Hallo smeagol

                            Hm, scheinbar gelten auch Subdomains als Domains. Wenn ich nämlich den ganzen Pfad, also http://swisstrain.net/elements/navigation/de/nav.php3 usw. benutze, geht es, jedoch manchmal auch wieder mit nem "Domainerror" mach ich es relativ, also elements/...
                            gehts manchmal, aber auch nicht immer (...aber immer öfters...*grins*). Leider ist das etwas mühsam, deshalb hab ich ja auch die Subdomain. Ist das etwa der neueste Schutz gegen das unbefugte einbinden von "fremden" Seiten in anderen Frames? Also funktionieren würds ja;-) Aber das Script wird ja nicht über Subdoms hinweg ausgeführt, sondern soll nur auf zwei neue seiten verweisen... Ganz komisch ist ja, wenn ich das gleiche Script auch "über Subdoms hinweg" auf der Startseite z.B. ausführe macht auch der NS mit *grübel*.

                            Aber was mich noch mehr stört ist, dass der NS die seiten, wenn es ein einfacher Link mit target ist, trotzdem in einem neuen Fenster öffnet. Das kann mit der zei echt nervig werden, wenn man bedenkt, dass nach dem Laden der Seite wieder das Frameset nachgeladen wird (Diese, eigentlich nützliche sache war wegen den Suchmaschinen gedacht). Das Prob ist aber immer noch nicht weg.

                            Gruss swisstrain

                            PS: Ob jetzt der 4er NS oder der 6er schlechter ist, ist mir egal, meiner Meinung nach sind bei zu schlecht;-)

                            Kommentar


                            • #15
                              Naja, da in deinem Frameset die einzelnen Frames (verweise und haupt) auf unterschiedlichen Subdomains liegen, kann ich schon verstehen das NS diese als Subdomains interpretiert. Warum er trotzdem diesen Murks mit dem Framewechsel-Script verursacht kann man wohl nur raten, oder jemanden fragen der an der Implemetierung der Script-Engine für NS beteiligt war (wenn der sich noch erinnern sollte).
                              Ich würde das ganze als Bug von Netscape interpretieren. Fragt sich nur, ob es einen effizienten Workaround dazu gibt. Am besten fragst du dazu in de.comp.lang.javascript nach, dort tummeln sich noch einige ausgemachte NS-Experten.

                              Ansonsten bliebe dir nur übrig, auf das Design mit Frames und Subdomains zu verzichten und es anders aufzuziehen... Tabellen-Layout, auf einer Domain liegend. Aber ob sich solch ein Aufwand für 20% Besucher lohnt, musst du wohl selbst entscheiden.

                              Kommentar

                              Lädt...
                              X