ロボット池田 (2011年5月24日 15:11) Webサイト構築事例 / Windows
先日ようやく日本でもInternetExplorer9がリリースされました。
HTML5対応やCSS3対応など最新の仕様に対応しています。 そのためHTML5、CSS3に注目が行っていますが、 ちょっと気をつけることが別にあります。
それはJavaScriptのエンジンの仕様が変わっていることです。
具体的な例をあげると、 JavaScriptで日付の年を取り出す処理は、 getYear()とgetFullYear()がありますが、 みなさんどちらを使っているでしょうか。 色々なブラウザで使うアプリケーションを作っている方は、 getFullYear()を普通使うのが当たり前だと思います。
しかし業務系アプリケーションを多く作っていて、 動作仕様にInternetExplorerのみとしてきた方の中には、 getYear()を使ってきた方がいるのではないでしょうか。
JavaScriptのgetYearは本来1900年からの経過年数を出力する処理です。 しかしInternetExplorer4からgetYear()の戻り値が、 西暦4桁に変更されました。 以降InternetExplorer4~8まではこの変更が継承されてきました。
今回リリースされたInternetExplorer9ではこの動作が変更されています。 getYear()を使うと1900年からの経過年数を出力するという、 他のブラウザと同様の動作になっています。 これまでの業務アプリケーションをInternetExplorer9で利用すると、 JavaScriptで自動的に日付を表示する処理などで、 コードにgetYear()を使用していると、 2011年5月1日と表示するはずが、111年5月1日と表示されてしまいます。
今後、既存のアプリケーションをInternetExplorer9で使ったり、 これまでの慣習で社内標準のJavaScriptを使ったりしている場合に、 InternetExplorer9でこれ以外の問題も出る可能性があります。
まだ企業に普及するのは先だからと言って、 その時になってから慌てないように、 今から情報を集めておくようにしましょう。
InternetExplorer9に要注意
ロボット池田 (2011年5月24日 15:11)
Webサイト構築事例 / Windows
先日ようやく日本でもInternetExplorer9がリリースされました。
HTML5対応やCSS3対応など最新の仕様に対応しています。
そのためHTML5、CSS3に注目が行っていますが、
ちょっと気をつけることが別にあります。
それはJavaScriptのエンジンの仕様が変わっていることです。
具体的な例をあげると、
JavaScriptで日付の年を取り出す処理は、
getYear()とgetFullYear()がありますが、
みなさんどちらを使っているでしょうか。
色々なブラウザで使うアプリケーションを作っている方は、
getFullYear()を普通使うのが当たり前だと思います。
しかし業務系アプリケーションを多く作っていて、
動作仕様にInternetExplorerのみとしてきた方の中には、
getYear()を使ってきた方がいるのではないでしょうか。
JavaScriptのgetYearは本来1900年からの経過年数を出力する処理です。
しかしInternetExplorer4からgetYear()の戻り値が、
西暦4桁に変更されました。
以降InternetExplorer4~8まではこの変更が継承されてきました。
今回リリースされたInternetExplorer9ではこの動作が変更されています。
getYear()を使うと1900年からの経過年数を出力するという、
他のブラウザと同様の動作になっています。
これまでの業務アプリケーションをInternetExplorer9で利用すると、
JavaScriptで自動的に日付を表示する処理などで、
コードにgetYear()を使用していると、
2011年5月1日と表示するはずが、111年5月1日と表示されてしまいます。
今後、既存のアプリケーションをInternetExplorer9で使ったり、
これまでの慣習で社内標準のJavaScriptを使ったりしている場合に、
InternetExplorer9でこれ以外の問題も出る可能性があります。
まだ企業に普及するのは先だからと言って、
その時になってから慌てないように、
今から情報を集めておくようにしましょう。