2012-04-06 17 views
0

Wir zeigen Timer im Frontend eines Auktionsportals an.Jquery Timer funktioniert nicht in IE9

Wir verwenden das SignalR-Framework, um die Auktionszeit aus der Datenbank zu senden.

Wir sind in der Lage, es auf Firefox, Safari, Oper und Chrom absolut toll zu machen.

ABER es funktioniert IE9.

Checkliste haben wir an unserem Ende gemacht.

  1. alle Javascript sind beinhaltet

    getan
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js"></script> 
    <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/redmond/jquery-ui.css" 
        rel="stylesheet" type="text/css" /> 
    <script src="../../Scripts/modernizr-1.7.js" type="text/javascript"></script> 
    

  2. wir den connection.hub.start Anruf

    getan haben
  3. So mache ich einen Ajax-Aufruf an den Controller. so dass ich relevante Daten in der Frontendansicht bekomme.

    function getTimer() { 
        var tim; 
        getAuc(); 
        var postData = { values: dataArray }; 
        try { 
         $.ajax({ 
          type: "POST", 
          url: "../../Home/PushTimer", 
          data: postData, 
          success: function (data) { 
           if (data == "Null") { 
            return; 
           } 
           var i = 0; 
           for (var i = data.length - 1; i >= 0; i--) { 
            assignTimer(data[i]); 
           }; 
          }, 
          dataType: "json", 
          traditional: true 
         }); 
        } 
        catch (exception) { } 
        return; 
    }; 
    
  4. Wenn es funktioniert in Firefox, Chrome, Safari und Opera, was ein Problem mit Internet Explorer sein kann.

+0

'** $ Ajax ({ Typ:. "POST", url: "../../Home/PushTimer", Daten: postdata, **' –

+0

Wie genau ist es fehlgeschlagen? Sie sollten die versuchen/fangen und fügen Sie einen Fehler oder komplette Handler auf den Ajax-Aufruf überprüfen mit fiddler - ist die Anfrage trifft den Server? Sieht die Anfrage/Antwort gleich in firefox vs ie, etc. – drch

Antwort

0

Ich sehe ein zusätzliches Semikolon nach Ihrer for-Schleife. Könnte das der Grund sein? Ich weiß in der Tat, dass IE sehr streng ist in Bezug auf zusätzliche Semi Colans, die in Ihren Skripten erscheinen. überqueren einfach überprüfen einmal

+0

der Semikolon ist nur eine leere Aussage. IE ist mehr knifflig über nachstehende Kommas in Objektdefinitionen. – drch

+0

@drch Ich hatte Probleme mit zusätzlichen Semikola in IE 7/8/9 – Ricketyship

+0

Nein Nein Erfolg! $ .ajax ({ typ: "POST", URL: "../../Home/PushTimer", Daten: postData, Erfolg: Funktion (Daten) { if (Daten == "Null") { zurückgeben; } var i = 0; für (var i = Datenlänge - 1; i> = 0; i--) { assignTimer (Daten [i]); } }, dataType: "json", traditionell: true }) –