2011-11-17 6 views
2

IE9がQuirksモードのときに一見有効なISO 8601日付文字列にDate.parse(javascript)がNaNを返す理由を理解しようとしています。これは、標準モードで正常に動作します。私にとってIE9 Quirks Mode Date.parseがNaNを返します

対照的に
//ReturnsNaN in Quirks Mode, 1270574382557 in Standards Mode 
document.write(Date.parse("2010-04-06T17:19:42.557")); 

//Returns NaN in Quirks Mode, 1270512000000 in Standards Mode 
document.write(Date.parse("2010-04-06"));  

、癖や規格の両方で、次の作品

//Returns 1270549182000 in both Quirks and Standards Modes 
document.write(Date.parse("2010/04/06T17:19:42")); 

はこの動作を見て誰ですか?もしそうなら、Date.parseがNaNを返す理由に関するアイデアはありますか?

+0

おそらくこれは役に立ちません。[2つの同様のDate.parseのケースが異なる結果を返します。](http://stackoverflow.com/questions/2587345/javascript-date-parse) – sdleihssirhc

答えて

1

まず第1に、quirksモードは基本的にIE5互換モードであることを理解する必要があります。

有効な宣言がないことが原因でトリガーされます。 主な効果は、ブラウザにIE5ボックスモデルを使用させることです。つまり、すべてのパディング、余白、枠線、およびボックスのサイズに影響を与えるその他のものはすべて正しくありません。

このような機能がないため、Date.parseは機能しません。これらの日付に「ISO 8601の日付を解析する」。

+0

Gotcha。情報をありがとう!私はボックスモデルについて知っていましたが、私はQuirksが日付に影響を与えていることを認識しませんでした。 – dda

関連する問題