1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Mozilla/ Netscape und JavaScript

Discussion in 'Programmieren' started by it-praktikant, Sep 2, 2003.

Thread Status:
Not open for further replies.
  1. it-praktikant

    it-praktikant Megabyte

    Hallo,

    ich habe mal wieder ein Problem mit meinem Mozilla und JavaScript, leider komme ich seit gestern Abend kein deut weiter.

    Ich habe eine Webseite (ein Popup), dass von JavaScript generiert wird, weil ich da einige dynamische Sachen drin haben will.
    Der Aufruf erfolgt über einen Link, der so aussieht:
    <a href="javascript: menuPage(page-url);">hier klicken</a>

    Das Blöde ist, dass der IE die Seite wunderbar anzeigt und auch gar nicht meckert, ihm also keine Fehler auffallen. Mozilla macht da erst gar nicht mit und zeigt mir gerade mal den Hintergrund in der Tabelle an, sonst 'will' er die Seite weiter laden, kommt jedoch nicht zum Schluss und zeigt sonst auch nichts mehr an.

    Der Code für alle functions, die daran beteiligt sind:
    Code:
    function menuPage(URL) {
          document.write("<!doctype html public \"-//W3C//DTD HTML 4.01 //EN\"><html><head>");
          document.write("<title>JavaScript-generated page</title>");
          document.write("<script src=\"../all/javascript.js\" type=\"text/javascript\"></script>");
          document.write("<link rel=\"stylesheet\" href=\"../all/format.css\" type=\"text/css\">");
          document.write("</head><body bgcolor=\"#FFFFFF\">");
          document.write("<table border=\"0\" width=\"860\" cellspacing=\"0\" cellpadding=\"0\"><tr>");
          document.write("<td background=\"../pic/backgr4.png\" height=\"100\" align=\"center\">");
          printBanner();
          document.write("</td></tr><tr><td>");
          document.write("<iframe src="+URL+" width=\"100%\" height=\"575\" frameborder=\"0\"></iframe> ");
          document.write("</td></tr></table>");
          document.write("</body></html>");
    }
    
    function printBanner() {
       document.write("<table width=\"100%\" cellspacing=\"0\" cellpadding=\"3\" border=\"0\">");
       document.write("<tr><td width=\"20%\" valign=\"top\" align=\"right\">");
       document.write(browserOptBookmark());
       document.write("</td><td align=\"center\">");
       document.write("<img src=\"../pic/banner2.jpg\" width=\"468\" height=\"60\" border=\"0\" alt=\"\">");
       document.write("</td><td width=\"20%\">");
       document.write("</td></tr><tr><td colspan=\"3\" align=\"center\">");
       downNavi();
       document.write("</td></tr></table> ");
    }
    
    function downNavi() {
      document.write("<p class=\"quick\"><a class=\"quick\" href=\"javascript: history.back(1);\">zurück</a> | ");
      document.write("<a class=\"quick\" href=\"javascript: history.forward();\">vor</a> | ");
      document.write("<a class=\"quick\" href=\"javascript: location.reload();\">aktualisieren</a> | ");
      document.write("<a class=\"quick\" href=\"javascript: popup(' ', 'Impressum');\">Impressum</a></p>");
    }
    
    die Funktion browserOptBookmark() fragt nur ab, welcher Browser benutzt wird und gibt dann mit return ein Bookmark-Link zurück.

    Hat jemand vielleicht eine Idee, warum das schon wieder im IE funktioniert und im Mozi nicht?

    Ciao it.

    PS: JavaScript ist bei mir zusammengeschrieben, aber irgendwie trennt das Forum das hier. Habe versucht, es durch mehrfaches editieren wegzubekommen, geht aber nicht.
     
  2. it-praktikant

    it-praktikant Megabyte

    Also ich würde das nicht machen, wenn ich nicht schon alles, was mir so einfällt und ich im Internet finden konnte, gemacht hätte, aber könnte ich dir das Zeuges mal per Mail rüberschicken.

    Die gesamte Site ist komprimiert 480 kBytes (.rar) groß.

    Kannst mir ja ne PN schicken.

    Ciao it
     
  3. it-praktikant

    it-praktikant Megabyte

    Neeeneee, document.write(browserOptBookmark()) ist schon OK, da alles in einer JS-Datei, und in dieser Methode geht auch alles glatt, da ich diese auch einzeln ansteuere, es tritt eben nur bei Mozilla 1.4 auf, wenn ich die Methode menuPage(url) aufrufe. browserOptBookmark()^hat nähmlich den HTML-Code dann in einem return, also return(<tag>...</tag>);.

    Die JS-Konsole sagt mir, dass der Fehler im Aufruf der printBanner() Methode leigt. Diese Methode wird von jeder meiner HTML-Seite aufgerufen udn verursacht nirgends Fehler.
    Der IE kommt mit der Methode menuPage() auch wunderbar klar und zeigt mir alles wie gewollt an. Es ist nur der Mozi mit dieser einen Methode.

    Ich habe jetzt auch schon einiges in der menuPage() versucht. Aber nichts half.

    Grrrr.

    Ciao it.
     
  4. kalweit

    kalweit Hüter der Glaskugel

    document.write(browserOptBookmark())

    ...der sieht unlogisch aus. Entweder:

    browserOptBookmark();

    oder:

    document.write ("<script>browserOptBookmark();<\/script>");
     
  5. kalweit

    kalweit Hüter der Glaskugel

    Du musst alle "Steuerzeichen" maskieren, dazu zählt auch ein "/". Was sagt die JavaScript-Konsole dazu?
     
  6. it-praktikant

    it-praktikant Megabyte

    Hallo,

    also am Slash liegt es nicht, da ich einige Funktionen auch einzeln aufrufe und da funktioniert es. Ich glaube, du hast das eben mit dem Backslash verwechselt, wenn man den 'haben' will, dann muss man ihn mit zwei Backslashes 'wirksam' machen. Der einfache Slash geht aber, glaube ich, weil er in JavaScript kein Steuerzeichen ist. (siehe \n oder \r).
    Die JavaScript-Konsole sagt, 'printBanner is not defined'. Aber ich habe die Funktion doch da und sie stehen sogar in der Reihenfolge in der JS-Datei:

    function downNavi() {...}
    function browserOptBookmark() {...}
    function printBanner() {...}
    function menuPage(URL) {...}

    also ich kann mir wirklich nicht vorstellen, wo der Fehler sein könnte. Es kann ja nur noch in menuPage() oder downNavi() sein, da browserOptBookmark() & printBanner() schon vorher benutzt wurden, auch einzeln.

    Danke für die Antwort.

    Ciao it.
     
Thread Status:
Not open for further replies.

Share This Page