更新: この問題は、最新バージョン (1.4.2) ではなく、古いバージョンの jQuery (1.3.2) を使用している場合にのみ発生します。
元の質問:
奇妙な動作を見つけたので、回避策があるかどうか疑問に思っています。JavaScript の「for」ループを使用して、オブジェクトのプロパティ名を列挙できます。IE では一部のオブジェクト、特に XMLHttpRequest では機能しないことがわかりました。次のコードを検討してください。Firefox の XMLHttpRequest のすべてのプロパティに対してアラート ボックスが開きます。ただし、IE ではプロパティが見つかりません。デバッガーをステップスルーすると、オブジェクトには確実にプロパティがあります。jQuery の $.for() 関数を使用すると、同じ結果が得られます。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function() {
$.ajax({
url: "/willneverwork/",
timeout: 1,
error: function(xmlHttpRequest) {
for (key in xmlHttpRequest) {
alert(key);
}
}
});
});
</script>
</head>
<body>
</body>
</html>