datatables コンポーネントで解決したバグを共有したかっただけです。
どうやら、datatables スクリプトで問題が発生すると、_fnLog が呼び出され、エラーがコンソールに出力されます。
これは関数のコードです:
function _fnLog(oSettings, iLevel, sMesg) {
var sAlert = (oSettings === null) ?
"DataTables warning: " + sMesg :
"DataTables warning (table id = '" + oSettings.sTableId + "'): " + sMesg;
if (iLevel === 0) {
if (DataTable.ext.sErrMode == 'alert') {
alert(sAlert);
}
else {
throw sAlert;
}
return;
}
else {
if (console !== undefined && console.log) {
console.log(sAlert);
}
}
}
ここの最後の数行は、「console」が存在するかどうかを確認してから、console.log アクションを実行していることに注意してください。IE では、デバッガーを実行していない限り、コンソール オブジェクトは存在しません。これにより、このバグを見つけるのが非常に困難で面倒になりました。とにかく、そのまま「コンソール」を参照することはできません。IE は例外なくスクリプトを停止します。適切なスクリプトが
if (window.console !== undefined && console.log) {
window.console.log(sAlert);
}
これに1時間費やしたので、これがお役に立てば幸いです:)
エヤル