[JS] Was tun wenn der IE streikt?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • [JS] Was tun wenn der IE streikt?

    Hallo. Ich hab ein mittelgrößes Problem.

    Ich habe an meiner Seite weiter entwickelt und das ganze immer wieder mal im Opera und Firefox getestet. Dabei irgendwie den Internetexplorer vergessen.

    So auf fast allen Browsern laufen die Scripte fehlerfrei. So jetzt das ganze im IE 7 ausprobiert. Nichts geht mehr. Aber auch gar nichts.

    Unten kommt nur das Gelbe dreieck. Die Fehlerbeschreibung ist ja wirklich leider verarschung.

    Quellcode

    1. Zeile: 38
    2. Zeichen: 5
    3. Fehler: 'null' ist Null oder kein Objekt
    4. Code: 0



    Wenn man in die Zeile 38 schaut..hat diese aber auch wirklich gar nichts mit Javascript zu tun.
    Ich meine es sind bestimmt ein paar kleine Flüchtigskeitsfehler drinnen. Mal ein Semikolon vergessen... Aber ansonsten funktioniert ja alles in anderen Browsern.

    Nur was kann ich jetzt tun damit die Seite auch im IE besuchbar ist mit allen Features?

    Firebug lite konnte jetzt auch nicht wirklich helfen.
  • Hey ja schon klar das mit dem Quelltext :)


    Dort steht ganz einfach ein:

    Quellcode

    1. <a href="index.php?action=dateiname">seitenname</a>



    Ich hab jetzt mal weiter geschaut. Nehme ich den Codeteil der Funktion raus. In dem Fall eine Diashow. Und lasse sie ganz alleine laufe, funktioniert es.
    Baue ich das ganze wieder in mein Script ein, geht es nicht mehr. Ich mag den InternetExplorer nicht.

    Da geht so viel zeit für das Debugging drauf..nur leider bisher ohne erflog.
  • Hey vince. Vielen dank für dein Angebot über das Script mal zu schaun.. Ich saß bis jetzt daran kleine Fehler schritt zu schritt zu korrigireren, damit der IE nicht mehr meckern muss. Hab es letztendlich geschafft. Aber trotzdem danke :)

    Ein Problem wäre da aber noch, dass ich ein Ajaxrequest beim Seitenaufruf lade und PHP Variablen übergebe (onload)
    Meine URL index.php?action=test&id=45

    So jetzt hole ich mit per get

    Quellcode

    1. $id=intval($_GET['id']);

    Und übergebe das ganze an meine Ajax.Request funktion. (Prototype)

    Quellcode

    1. function test (php_id){
    2. new Ajax.Request(
    3. 'ajax_req.php',
    4. {
    5. method: 'post', onSuccess: function(xml_http){
    6. //aufrufe ect..
    7. },
    8. parameters: {id: php_id}
    9. }
    10. );
    11. }
    Alles anzeigen


    So da Javascript aber ja Browserseitig läuft und PHP Serverseitig, ist es ja möglich, dass der Server nicht immer die gleiche Ladegeschwindigkeit hat.
    Ist es dadurch möglich, dass die GET Variable nicht rechtzeitig für die funktion test aufzugreifen ist?

    Wenn ja wie kann man soetwas unterbinden..Ein timeout einbauen, dass die funktion später gestartet wird?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Snowflake ()

  • Hi,

    Du solltest dir zum Verständnis für Ajax, einmal synchrone und asynchrone Requests angucken.
    Dadruch wird dir einiges klarer.


    Allgemein denke ich, dass du da ganze ein bischen verdreht hast.

    Damit ich es nicht falsch verstehe:

    Datei wird aufgerufen
    index.php?action=test&id=45

    Du speicherst die id

    Quellcode

    1. $id=intval($_GET['id']);

    Und dann übergibst du aus php die id an eine JS Funktion??

    Quellcode

    1. function test (php_id){


    Das würde dann natürlich nicht funktionieren.
  • Hey vince schonmal danke. Stimmt an das syncrone und asyncrone Ajax Request habe ich gar nicht gedacht, damit klappt es natürlich. danke :)

    Oh man ich bin doof..War wohl doch was zu spät. So ein anfänger bin ich eigentlich nicht.. ^^
    Hab den Aufruf vergessen. So wird das ganze dann natürlich aufgerufen.

    Quellcode

    1. document.observe('dom:loaded', function () {
    2. var php_id=<? echo $id;?>
    3. test(php_id);
    4. });

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Snowflake ()