2017-05-10 22 views
0

私はフィルタリングでウェブページを持っています。私はきた私のhtmlの体でInternet Explorerがjavascriptのメソッドを解析していません

var autotag = { 
filter: function(container, resetPage = true){ 
    if(resetPage) 
     $('#filter-page').val('1') 

    var form = $('#'+container); 
    var action = form.attr('action'); 
    var method = form.attr('method'); 
    var data = form.serialize()+'&method=ajax'; 

    $.ajax({ 
     url: action, 
     data: data, 
     method:method, 
     success: function(response, status, xhr){ 
     history.pushState(null,null, window.location.pathname+'?'+form.serialize()); 
     $('#'+container).html(response); 
     } 
    }); 
} 
}; 

:ファイルの内容が自動タグメソッドを定義

<script type="text/javascript" src="https://www.werkenbijtauw.nl/static/default/script/autotag.js"></script>

:フィルタリングは、このようなのようなヘッダにリンクされたJavaScriptファイルを使用していますこれは何の問題が生じないChromeとFirefoxでは

<input type="checkbox" id="Bodem" name="filters['function'][]" value="Bodem" onchange="autotag.filter('vacancies-filters');" />

:次のHTMLを得ました。一方、IEは自動タグをスローすると定義されたエラーではありません。 IEがautotag変数を未定義とみなす理由は何ですか?

+0

ちょうど終了タグの前に、ドキュメントの下部に配置したスクリプトタグを... ....またはDOM解析が完了するまで待つ必要が頭の中でスクリプトに延期属性を追加。 –

答えて

0
<script type="text/javascript" defer="defer" src="https://www.werkenbijtauw.nl/static/default/script/autotag.js"></script> 
+0

ありがとうございます。これは私の問題を解決しなかったが、それは私が問題を見つけるのを助けた。 Internet Explorerは、デフォルト値が設定されている関数を適切に解析しませんでした。したがって、function(someValue、someBoolean = true){if(someBoolean){}} ''はIE 11があまりにもよく解析しなかったものです。 (someValue、someBoolean){if(someValue == null || someValue)} '' ' –

+0

別のヒント:開発者コンソールメッセージを記録するためのIEの設定...ツール>インターネットオプション]> [詳細設定]タブをクリックし、[常に開発者コンソールメッセージを記録する]チェックボックスをオンにします。変更を保存します。ページロード中に発生するエラーをデバッグするには... f12>デバッグタブで、停止標識のように見える)... ... IEにdevツールをピン...!あなたがデバッグしているときに重要な開発ツールを開く必要があります。 ctrl + f5キーを押すと、デバッグ中のページがハードリフレッシュされます。エラーが発生したときにdevツールが壊れます。通常は(開発ツールが開いていない場合)スクリプト例外は無視されます。 –

関連する問題