Number.isNaNをIE11で使う
とある自作WebページがChromeだとうまく動作するのに、IE 11だとうまく動作していませんでした。
調べてみると、原因はJavaScriptのNumber.isNaNというECMAScript6の仕様について、Chromeでは対応しているがIE11では対応していないという状況のため…
最近のブラウザであれば、昔に比べて対応可否を意識するケースは減ってきたのかと思っていたのですが、JavaScript仕様の正式公開前機能への対応というところで差があるのですね。
そういうわけでIEでもisNaN相当の機能が動くよう、JavaScriptのソースに下記の処理を追加して解決。
これだけなのに長らく放置してしまった…
Number.isNaN = Number.isNaN || function(any) { return typeof any === 'number' && isNaN(any); };
上記のようにブラウザの機能の差を埋めることをpolyfillと言うようです。例えば今回の場合「Number.isNaN polyfill」のように検索すると、polyyfillするための実装方法が見つかりました。
ディスカッション
コメント一覧
まだ、コメントがありません