2013-03-13 19 views
7

私はいくつかのテキスト出力をボタンに置​​き換えたり、それに応じてラベルを売り切ったりする機能を持っています。IEでJQueryドキュメントレディ機能が動作しない

jQuery(document).ready(function() { 
jQuery('td.register').each(function() { 
    var text = jQuery(this).text(); 
    var exploded = text.split(','); 
    console.log(exploded[0]); 
    console.log(exploded[1]); 
    if (exploded[0] == 0) { 
     jQuery(this).html("<font color='red'>SOLD OUT</font>"); 
    } else { 
     jQuery(this).html("<a class='button' title ='Register for this event' href='" + exploded[1] + "'>Register</a>"); 
    } 
}) 
}); 

ほとんどのブラウザでは正常に動作するようですが、クライアントはそれが働いていないIE9に不平を言っています。私が自分のコンピュータでテストすると、ほとんどの場合動作しますが、時には動作しません。every私はbrowsershots.orgでテストしますが動作しません。 jQueryが実行されなかったかのように、browsershots.orgのテストで表示されます。

+2

のようにコードを修正し、[開発ツールが開いているときにのみ](のhttp:// /image/gif/paws/5472938/does-ie9-support-console-log-and-is-it-a-real-function)。これらの行を削除するだけで動作します。 – JJJ

+1

さらに、JavaScriptが無効になっていてもコンテンツが正常に表示され、正しく動作することを確認したい場合があります。 – JJJ

+0

私はこれを「インターネットエクスプローラでは文書準備機能が動作しません」というグーグルで見つけました。しかし、私は自分自身でこの問題を発見できたのだろうか?どのように私はそれを追跡することができますか?副次的な問題として、AJAXページにいくつかの問題があり、それから 'ajaxComplete'関数が発見されました。 –

答えて

7

コンソールはIE9で定義されていないあなたはIE9で利用可能な `にconsole.log()を`使用しているためにです

jQuery(document).ready(function() { 
jQuery('td.register').each(function() { 
    var text = jQuery(this).text(); 
    var exploded = text.split(','); 
    if(typeof(console)!='undefined'){ 
     console.log(exploded[0]); 
     console.log(exploded[1]); 
    } 
    if (exploded[0] == 0) { 
     jQuery(this).html("<font color='red'>SOLD OUT</font>"); 
    } else { 
     jQuery(this).html("<a class='button' title ='Register for this event' href='" + exploded[1] + "'>Register</a>"); 
    } 
}) 
}); 
+0

それはそれが信じられない。そして私がそれを再現することができなかった理由は、上記のJuhanaが言ったことです - devツールが開いているときに動作します。ありがとうございました! –

+0

IEはあなたにこのようなことを ';)'、あなたの問題を解決してうれしい – dakait

+0

私はIE9がコンソールを持っていないことを理解するのを助けました。いつも私のコードがコンソールによって引き起こされている間、私のコードがうまくいかなかった理由を理解できなかった;)ありがとう、+1 – Ben

関連する問題