0

jquery autosuggest を使用して、テキスト ボックスにデータを入力しています。ie8 でその機能を動作させようとすると、エラーが発生します: コンソールが定義されていません

エラーが表示されているjqueryコードは次のとおりです。

function lookup(inputString) {
        if(inputString.length == 0) {
            // Hide the suggestion box.
            $('#suggestions').hide();
        } else {
            // post data to our php processing page and if there is a return greater than zero
            // show the suggestions box
            $.post("string_search.php", {mysearchString: ""+inputString+""}, function(data){

                **console.log(data.length)**
                if(data.length >0) {
                    $('#suggestions').show();
                    $('#autoSuggestionsList').html(data);
                }else{
                $('#suggestions').hide();
                }
            });
        }
    } //end

エラーを解決するのを手伝ってください

4

2 に答える 2

2

一般に信じられていることとは反対に、コンソールは IE にも存在します。ただしconsole、開発者ツールを開く (F12 キーを押す) までは定義されません。そのため、ページのロード時に開発者ツールがすでに開いていない限り、ページは失敗します。

1 つの解決策は、次のようなものをファイルの先頭に追加することです (つまり、コンソールを使用する前に):

<script>
    try {
        console.log('Hello console!');
    } catch(e) {
        console = {log: function(){}};
    }
</script>

これによりconsole.log、ノーオペレーションであっても、常に利用できるようになります。

于 2012-06-27T12:22:19.973 に答える
1
if(window.console && window.console.log)
     console.log(data.length)
else
    alert(data.length);    
于 2012-06-27T12:48:24.530 に答える