Robert Allerstorfer: JavaScript-Fehler im Netscape Navigator 4.5

Im der kuerzlich erschienenen ersten Version der neuen 4.5er-Serie des Netscape-
Browsers Navigator (im "Communicator" enthalten) macht JavaScript ploetzlich
Probleme, die bis zur letzten Version (4.07) und auch in der aktuellen Version
des InternetExplorers nicht auftreten, obwohl die Version von JavaScript schon
seit v4.06 die gleiche ist (JavaScript1.3).

Auf jeder meiner HTML-Seiten wird unten angezeigt, wann die Seite zuletzt
aktualisiert wurde. Dafuer wird immer dasselbe JavaScript "aktual.js" verwendet.
Auf einigen meiner Seiten funktioniert das nun nicht mehr mit NN 4.5. Denn diese
Version kommt offenbar nicht damit zurecht, dass meine Homepage-Domaene
"www.robert.allerstorfer.anet.at" auch mit den Aliases
"robert.allerstorfer.anet.at", "www.roal.anet.at" und "roal.anet.at" erreichbar
ist. Das JavaScript wird dann nicht mehr ausgefuehrt, wenn man eine der 3
Aliases statt der Haupt-Domaene verwendet. Man bekommt folgende Fehlermeldung
in der JavaScript-Konsole:

JavaScript Error:
http://www.robert.allerstorfer.anet.at/_scripts/aktual.js,
line 7:

access disallowed from scripts at http://roal.anet.at/ to
documents at another domain.

Kann man nur hoffen, dass dieses Fehlverhalten in der naechsten Version 4.51
wieder entfernt wird. Womoeglich muss man auch damit rechnen, dass erst nach der
x-ten Unterversion das Programm einigermassen fehlerfrei funktioniert
(siehe 4.0er-Serie: 4.0, 4.01, 4.01a, 4.02, 4.03, 4.04, 4.05, 4.06, 4.07).

rob.

  1. JavaScript Error:
    http://www.robert.allerstorfer.anet.at/_scripts/aktual.js,
    line 7:

    access disallowed from scripts at http://roal.anet.at/ to
    documents at another domain.

    Hast vieleicht schonmal darueber nachgedacht, die Datei lokal anzusprechen, nicht ueber die URL adresse. Ich wuerde das ganze naemlich ueberhauptnicht als NS-Fehler bezeichnen.

    1. Hast vieleicht schonmal darueber nachgedacht, die Datei lokal anzusprechen, nicht ueber die URL adresse. Ich wuerde das ganze naemlich ueberhauptnicht als NS-Fehler bezeichnen.

      Alle Verweise sind RELATIV. Wenn du zb. mit dem URL http://roal.anet.at die seite aufrufst,
      dann in einen unterordner "news" relativ verwiesen wirst (a href="news"), sucht der browser
      trotzdem nicht nach http://roal.anet.at/news/ sondern nach
      http://www.robert.allerstorfer.anet.at/news/ da im apache webserver
      www.robert.allerstorfer.anet.at als servername angegeben ist. Netscape 4.5 glaubt auf einmal,
      dass das JavaScript von einer komplett anderen Seite aufgerufen wird und verbietet es,
      obwohl es dieselbe Seite ist. Vielleicht soll das ein neues "Sicherheitsverhalten" sein, das
      aber in die Hose gegangen ist.

      Alle anderen Versionen haben ja kein problem damit. Also IST es ein fehler von 4.5.

      grüsse,
      robert

      1. Hallo,
        solange Du zwar die Links relativ angibst, jedoch die Basisadresse angibst, ist der Link absolut.

        Schreibe die Sachen so um, daß du ohne den Base-Tag auskommst.

        Roland

        PS: Warum steht bei Dir der Base-Tag vor dem <html> Tag?

        1. Hallo,
          solange Du zwar die Links relativ angibst, jedoch die Basisadresse angibst, ist der Link absolut.

          Schreibe die Sachen so um, daß du ohne den Base-Tag auskommst.

          Aha, also doch. Ich hatte die Seite nicht angesehen und das mit dem Base war mir nicht bekannt. Ich finde diese Sicherung im Netscapebrowser dann doch richtig gut.

          1. Hallo,
            solange Du zwar die Links relativ angibst, jedoch die Basisadresse angibst, ist der Link absolut.

            Danke Roland, dass du dir die zeit genommen hast, die seite anzusehen. Du hast völlig recht mit dem Base-Tag, nur habe ich diesen NIE UND NIMMER angegeben. Offenbar schon wieder
            ein neuer bug von NN4.5. Ich hab mir die Seite mit dieser Netscape-version angeschaut - und tatsächlich, wenn du rahmenquelltext wählst, schreibt dir netscape beinhart in der ersten zeile
            den base-tag hin - mit dem basis-URL, mit dem du zur seite gekommen bist. Echt eigenartig.
            Der InternetExplorer macht diesen scherz nicht, dort funktionierts auch

            Schreibe die Sachen so um, daß du ohne den Base-Tag auskommst.

            Wie gesagt, ich komme ohne ihn aus und kann diesbezüglich nix umschreiben.

            Aha, also doch. Ich hatte die Seite nicht angesehen und das mit dem Base war mir nicht bekannt. Ich finde diese Sicherung im Netscapebrowser dann doch richtig gut.

            Thomas, also doch....     Gibt ein Minus für dich!

            grüsse,
            robert

            1. Hallo Robert,

              Schreibe die Sachen so um, daß du ohne den Base-Tag auskommst.

              Wie gesagt, ich komme ohne ihn aus und kann diesbezüglich nix umschreiben.

              Wenn der Base Tag in der Datei nicht drin steht, zeigt der N4.5 ihn auch nicht an.
              Der IE begrenzt die Anzeige auf den Bereich zwischen <html> und </html> deshalb siehst Du ihn dort nicht.

              Nicht gut finde ich, daß der N4.5 Daten interprediert, die vor dem <html>-Tag liegen.

              Schau Dir die Datei mal direkt im Texteditor an.

              Grüße
              Roland

              1. Wenn der Base Tag in der Datei nicht drin steht, zeigt der N4.5 ihn auch nicht an.

                Hallo Roland,

                dass du jetzt auch behauptungen aufstellst, die du nicht überprüft hast, wundert mich.
                Du kannst es mir glauben: Nachdem ich die seite im texteditor geschrieben habe, weiss ich,
                dass nirgends ein base-tag steht. Ich kann nur nochmals sagen: NN4.5 schreibt ihn beim
                rahmenquelltext dazu. Du kannst dir die datei ja selbst im texteditor ansehen:
                Rahmen anklicken, Datei/Rahmen speichern unter..  und du hast die haupt.htm auf deiner festplatte => KEIN base-tag.

                wenn ich mir die datei lokal anschau, schreibt NN4.5 <BASE HREF="http://localhost/roal/"> dazu, wenn ich sie über roal.anet.at anschaue, schreibt er <BASE HREF="http://roal.anet.at/">
                usw.- je nachdem über welchen URL sie geladen wird.

                ich kann mirs auch nicht erklären warum der nn4.5 das tut, aber er machts halt.

                grüsse,
                robert

                1. Hallo Robert!

                  Ich blicke zwar bei deinem Problem nicht so richtig durch, wollte dir aber nur kurz mitteilen, dass wenn ich mir deine HP mit dem Netscape Navigator 4.05 anschauen, ganz oben auf deiner "haupt.htm"-Datei ein

                  <BASE HREF="http://roal.anet.at/">

                  steht.

                  Und irgendwie geht's doch da drum, dass dieses "BASE" angeblich nur im NN 4.5 angezeigt wird, oder?

                  Markus

                  1. Hallo Robert!

                    Ich blicke zwar bei deinem Problem nicht so richtig durch, wollte dir aber nur kurz mitteilen, dass wenn ich mir deine HP mit dem Netscape Navigator 4.05 anschauen, ganz oben auf deiner "haupt.htm"-Datei ein

                    <BASE HREF="http://roal.anet.at/">

                    steht.

                    Und irgendwie geht's doch da drum, dass dieses "BASE" angeblich nur im NN 4.5 angezeigt wird, oder?

                    Markus

                    Hi Markus!

                    Dieses Phänomen kannte ich bisher nicht, dass Netscape den BASE-Tag bei meiner seite von selbst dazuschreibt. Ich habs überprüft - er macht es sowohl bei v4.0x, als auch bei v4.5.
                    Das Problem, dass der JavaScript-Code aus einer externen js-Bibliothek nicht ausgeführt wird,
                    wenn dieser URL nicht mit dem vom Webserver (Apache) gespeicherten ServerName (www.robert.allerstorfer.anet.at) übereinstimmt, ist neu in v4.5 und tritt offenbar nicht deswegen auf, weil Netscape den unterschiedlichen URL _hinschreibt_, sondern weil er unterschiedlich _ist_.

                    Liebe grüsse,
                    robert

                  2. Halo Markus, hallo Robert, hallo alle an diesen Thread beteiligten!

                    dass wenn ich mir deine HP mit dem Netscape Navigator 4.05 anschauen, ganz oben auf deiner "haupt.htm"-Datei ein

                    <BASE HREF="http://roal.anet.at/">

                    steht.

                    Ich war mit beiden Browsern auf der Seite. Die Zeile:

                    <BASE HREF="http://www.robert.allerstorfer.anet.at/">

                    steht oberhalb des <html>-Tags im Quelltext der "haupt.htm" nur dann, wenn man mit NS (hier 4.07) die Seite besucht. Im Quelltext der mit dem IE besuchten Seite steht die Zeile nicht.

                    Wenn es keine Eigenart (ich bin vorsichtig und will hier nicht von "Bug" sprechen) von den NS-Browsern ist, was ist es das?

                    Oder wird die Zeile vom Server und nur für NS-User generiert? (ein Server, der Netscape Benutzer ärgert: WER HAT MIR MEINE IDEE GEKLAUT! <g>)

                    Bis danndann

                    PAF (patrickausfrankfurt)

                2. Guten Morgen Robert,

                  ich habe meine Behauptungen überprüft, aber an eigenen Seiten. Der NN4.5 erzeugt diese Zeile wirklich nicht. Die Sache mit dem Abspeichern aus den NN4.5 heraus beweist leider nichts. Vielleicht wird hier nur der Bereich zwischen den <html>-Tags gespeichert.

                  Ich kann nur sagen, und ich will Dich weder ärgern, noch unter allen Umständen recht haben, bei mir tritt bei Seiten ohne <base>-tag Dein Phänomen nicht auf.

                  Wäre es möglich, daß Dein http-Server diesen Quatsch macht? Bei mir läuft der Apache.

                  Schöne Grüße aus Hirschaid
                  Roland

      2. dass das JavaScript von einer komplett anderen Seite aufgerufen wird und verbietet es,
        obwohl es dieselbe Seite ist. Vielleicht soll das ein neues "Sicherheitsverhalten" sein, das
        aber in die Hose gegangen ist.

        Ich finde dieses neue Sicherheitsverhalten ganz interessant, kann mich aber nicht recht entschliessen, ob ich es gut oder schlecht finden soll. Allerdings tendiere ich eher dazu es gut zu finden. Von einem Fehler wuerde ich weiterhin nicht sprechen.