Ankündigung

Einklappen
Keine Ankündigung bisher.

Javascript Problem mit IE

Einklappen

Neue Werbung 2019

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

  • Javascript Problem mit IE

    Hallo, alle miteinander,

    (Hoffentlich bin ich hier richtig, wenn nicht bitte ich höflichst darum dieses Thema entsprechend zu verschieben)

    Ich habe eine Webseite mit einem lieben Freund, der programmieren lernt ( oder sowas ähnliches) aufgebaut. Nun haben wir ein Problem bei den "dynamischen" Seiten im IE. Sie werden einfach nicht angezeigt. Die News und die Mitgliederlisten sind einfach im IE nicht vorhanden.
    Nun fehlt ihm leider die Zeit(wohl auch das Wissen) und mir das Wissen, um das Problem zu beheben.

    Vielleicht hat jemand Zeit/Muße mir dabei ein wenig zu helfen? Eine halbe Seite ist nämlich..naja..nicht so dolle..

    Im Firefox wird alles ohne Probleme angezeigt und läuft einwandfrei...

    Hier mal der Code:

    <?php
    include "config.php";
    @mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASS) OR die(mysql_error());
    mysql_select_db($MYSQL_DATABASE) OR die(mysql_error());

    $arr_json = array();
    $ansi_repl = array("\n", "ä", "ö", "ü", "Ä", "Ö", "Ü");
    $html_repl = array("<br/>", "&auml;", "&ouml;", "&uuml;", "&Auml;", "&Ouml;", "&Uuml;");
    $icount = 0;
    $result = mysql_query("SELECT * FROM news ORDER BY datum DESC") OR die(mysql_error());
    if($_POST["all"] == 1)
    {
    while($row = mysql_fetch_assoc($result))
    {
    $arr_json[$icount][0] = $row["datum"];
    $arr_json[$icount][1] = $row["typ"];
    $arr_json[$icount][2] = $row["head"];
    $arr_json[$icount][3] = addslashes(str_replace($ansi_repl, $html_repl, $row["body"]));

    $icount += 1;
    }
    }else
    if($_Post["all"] == 0)
    {
    while(($row = mysql_fetch_assoc($result)) AND ($icount < 3))
    {
    $arr_json[$icount][0] = $row["datum"];
    $arr_json[$icount][1] = $row["typ"];
    $arr_json[$icount][2] = $row["head"];
    $arr_json[$icount][3] = addslashes(str_replace($ansi_repl, $html_repl, $row["body"]));

    $icount += 1;
    }
    }
    echo json_encode($arr_json);

    ?>

  • #2
    Das liefert irgendwelche json-Daten (also mehr oder weniger ein Hash/Feld wie in PHP).
    Der eigentlich spannende Teil, der der unterschiedliches Verhalten in verschiedenen Browsern zeigen kann, ist der Javascript-Code, der diese json-Daten abfragt/auswertet/weiterverarbeitet.

    Vielleicht solltet Ihr Euch mal einen Debugger für clientseitige Skripte installieren. Zum Beispiel http://www.microsoft.com/downloads/d...displaylang=en

    Kommentar


    • #3
      Hmm..dann meinst du sicher dieses Teil hier..?

      aer.js

      Das Debuggerteil habe ich runtergeladen, kann ich da auf dem Space installen? Sorry, bin totaler Noob was das angeht

      Kommentar


      • #4
        Das musst Du auf dem Rechner installieren,auf dem der IE läuft.
        Das ist ein Debugger, der loslegt, wenn der IE sagt "mit diesem clientseitigen Javascript stimmt was nicht".

        Kommentar


        • #5
          Herzlichen dank mal für die mühe!

          Mit deinem Proggi sagt der IE mir:
          kompilierungsfehler in Microsoft jscript: Bezeichner erwartet
          Code:800A03F2

          Das isst die fettgedruckte Zeile..


          var rang = document.createElement('div');
          rang.addClassName('rang');
          var title = document.createElement('div');
          title.addClassName('title');
          title.innerHTML = "Rang :&nbsp;";
          rang.appendChild(title);
          rang.innerHTML += response[i][2];
          member_detail.appendChild(rang);

          var class = document.createElement('div');
          class.addClassName('class');
          var title = document.createElement('div');
          title.addClassName('title');
          title.innerHTML = "Klasse :&nbsp;";
          class.appendChild(title);
          class.innerHTML += response[i][3];
          member_detail.appendChild(class);

          var gender = document.createElement('div');
          gender.addClassName('gender');
          var title = document.createElement('div');
          title.addClassName('title');
          title.innerHTML = "Geschlecht :&nbsp;";
          gender.appendChild(title);
          gender.innerHTML += response[i][4];
          member_detail.appendChild(gender);

          Kommentar


          • #6
            vermutlich ist class ein reserviertes Wort.

            Kommentar


            • #7
              JavaScript/ECMAScript hat eine geradezu unglaublich lange Liste von reservierten Worten, die überall (also kontextunabhängig) nicht verwendet dürfen.
              Und class gehört dazu. siehe https://developer.mozilla.org/en/Cor...Reserved_Words.

              Das ist (nach eigenen Aussagen) übrigens auch der Grund, warum Douglas Crockford in der json Spezifikation sämtliche Namen, Parameter usw. in Anführungszeichen setzt.

              Kommentar


              • #8
                Ich bin ja wirklich ein javascript-dummie, das muss ich mal sagen.
                Lieber David würdest du mir da nochmal unter die arme greifen ?

                Was genau muss ich nun verändern?

                Kommentar

                Lädt...
                X