Martin Asal: Javascript 1.0-funktion geht unter NS3 nicht???

Hallo,

ich bin neu in diesem Forum und hoffe, mit meiner Frage trotzdem hier richtig zu sein ;-)

In einer Seite, die auch zum download bereitsteht, soll der Text davon abhängig sein, ob die Seite online oder offline betrachtet wird:

if(document.URL.substr(0,4)=="http"){

Obwohl diese Syntax lt. SelfHTML vollkommen der JS1.0-Syntax entspricht, meldet NS3 für diese Zeile aber einen Fehler: "undefined is not a number". Ziemlich verwirredn. Was mache ich flasch?

Aber es gibt noch mehr, was mich mit NS verwirrt:

  • Ich hatte nach document.write einen etwas längeren Text: Einen hreflink mit Bild, so kam ziemlich schnell ein längerer Text zustande. Es scheint aber, dass bei NS3 max ca. 255 Zeichen im zu schreibenden String stehen können. Stimmt das?

  • Ich generiere mit document.write auch links auf javascript:
      document.write("<a href="javascript:parent.aufzu('schieri',1)"> ")
      Bei solchen Links scheint aber NS3 verwirrt zu werden: All die vielen maskierten " und die '
      Leider konnte ich nicht präzise herausfinden, *was* genau NS3 da stört. Kann mir auch dazu jemand einen Tipp geben?

TIA
M@rtin

  1. Hallo Martin

    ich bin neu in diesem Forum und hoffe, mit meiner Frage trotzdem hier richtig zu sein ;-)

    Wo wenn nicht hier ;-)

    if(document.URL.substr(0,4)=="http"){

    Obwohl diese Syntax lt. SelfHTML vollkommen der JS1.0-Syntax entspricht, meldet NS3 für diese Zeile aber einen Fehler: "undefined is not a number". Ziemlich verwirredn. Was mache ich flasch?

    Laut meiner schlauen Javascript-Bibel ist document.URL Javascript 1.1!

    <?m=129403&t=24816> schon gelesen? Diese location-properties (search, hash, protocol, host, hostname, href, pathname, port) sind übrigens JS 1.0!

    Es scheint aber, dass bei NS3 max ca. 255 Zeichen im zu schreibenden String stehen können. Stimmt das?

    <?m=129194&t=24785> schon gelesen?

    • Ich generiere mit document.write auch links auf javascript:
        document.write("<a href="javascript:parent.aufzu('schieri',1)"> ")

    Bei solchen Links scheint aber NS3 verwirrt zu werden: All die vielen maskierten " und die '

    du könntest Teile das auszugebenden strings in Variablen packen! Am besten an strategisch günstigen Stellen, wie z.b. 'schieri' durch param ersetzen, dann ersparst du dir die ' und kannst sie stattdessen woanders einsetzen, z.b. bei document.write('<a href="">...'). Dann passt wieder alles ;-)

    Ob der NS3 Maskierungen versteht oder nicht kann ich nicht sagen, das war vor meiner Zeit. Aber dein Enthusiasmus ist lobenswert ;-)

    lg bernhard

    1. Hallo Bernhard,

      Laut meiner schlauen Javascript-Bibel ist document.URL Javascript 1.1!

      Hm, aber laut SelfHTML ist es JS1.0 ... Macht in meinem Fall zwar nix, da NS3 JS1.1 beherrscht, aber...

      <?m=129403&t=24816> schon gelesen? Diese location-properties (search, hash, protocol, host, hostname, href, pathname, port) sind übrigens JS 1.0!

      ...werden aber laut selfHTML nicht vom IE verstanden

      <rumprobier>
      uups, der IE4 versteht protocol!!!
      </rumprobier>

      Kann es sein, dass man sich auf die Versionsangaben in SelfHTML nicht allzusehr verlassen kann? Oder habe ich einfach zufällig ein paar neue Bugs gefunden? Die Errata habe ich installiert.

      Ob der NS3 Maskierungen versteht oder nicht kann ich nicht sagen, das war vor meiner Zeit. Aber dein Enthusiasmus ist lobenswert ;-)

      Er versteht sie.

      Ich habe fast 2% NS3-User auf der Homepage, also überdurchschnittlich viele. Keine zu unterschätzende Größe.

      Danke
      M@rtin

      1. Hi!

        Laut meiner schlauen Javascript-Bibel ist document.URL Javascript 1.1!
        Hm, aber laut SelfHTML ist es JS1.0 ... Macht in meinem Fall zwar nix, da NS3 JS1.1 beherrscht, aber...

        Laut Netscape's docu ist es auch 1.0, aber auf die kann man sich in dem Punkt auch nicht immer verlassen.

        <?m=129403&t=24816> schon gelesen? Diese location-properties (search, hash, protocol, host, hostname, href, pathname, port) sind übrigens JS 1.0!
        ...werden aber laut selfHTML nicht vom IE verstanden

        Zumindest .href (mehr brauchst Du nicht, und es entspricht normalerweise dem document.URL) sollte er koennen.

        Kann es sein, dass man sich auf die Versionsangaben in SelfHTML nicht allzusehr verlassen kann? Oder habe ich einfach zufällig ein paar neue Bugs gefunden? Die Errata habe ich installiert.

        SelfHtml ist nicht fehlerfrei, von daher, in kritischen Faellen lieber selbst ueberpruefen.

        Zu Deinem Problem. Eines von String.substr() und String.substring() kam eine Version spaeter als das andere. Also versuch es mal mit dem, welches Du bisher nicht verwendet hast. Beachte, dass die Parameter eine andere Bedeutung haben.

        So long