システム開発ブログ

InternetExplorer9に要注意

先日ようやく日本でも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でこれ以外の問題も出る可能性があります。

まだ企業に普及するのは先だからと言って、
その時になってから慌てないように、
今から情報を集めておくようにしましょう。

この記事に関連する記事の一覧


システム開発ブログ

Twitterでilovex_officialをフォローしてください

最近の記事

カテゴリー

以前の部署別ブログ

ページのトップ