*ExplorerのJScriptについて


 JScriptは、Microsoft社がExplorer3.0以降のブラウザに実装しているJavaScript互換のスクリプト言語で、現在は"JScript2.0"の仕様が公開されています。

 JScript2.0は、JavaScript1.0に加えてArrayオブジェクトなどのJavaScript1.1の一部がサポートされています。
また、純粋にJScriptとして用意されているのは、JavaScriptで言う「ビルトインオブジェクト」の部分のみであり、windowオブジェクトなどの「ナビゲータオブジェクト」(Explorerから見ればエクスプローラオブジェクト)は、ActiveXScript経由で各オブジェクトにアクセスする形を取っています。
そして、このActiveXScriptを経由することによって、JScriptはActiveXコントロールの制御を行うことが可能で、この点がJavaScriptと大きく違う点でもあります。

 Explorer3.0発表当初は、Netscapeでは問題無く動くスクリプトがエラーで動かない、などの問題が多数報告されましたが、その後細かく仕様の見直しが行われているようで、Explorerの同じバージョンであっても、より後に出荷されたExplorerの方が不具合が解消され、エラーが出にくくなっています。
また、Explorerは一度レイアウトが確定したドキュメントの色を後から変更出来る、など仕様に対する解釈が一部Netscapeと事なる部分が有ります。

 現在Platform Previw版が出ているExplorer4.0bや正式版が発表されたのMacintosh版Explorer3.01では、イメージオブジェクトの一部を始めとしたJavaScript1.2の多くがサポートされています。
しかし、Explorer4.0bはまだベータ版なので仕方が無いことですが、PlatformPreviw版Explorer4.0bでは、"window.open()"で新しく開いたウインドウに"document.write()"で文字を書き出そうとするとエラーが発生したり、PlatformPreviw版のExplorer4.0bとMacintosh版Explorer3.01両方では、Netscapeで正常に動作するイメージオブジェクトを含んだ多くのスクリプトでエラーが発生するなど、動作、JScriptとJavaScriptとの互換などの点で、まだ多くの問題が見られます。
 これらの点から、現状Explorerユーザにも対応したページを作成する場合は、十分なテストを行うことはもちろん、"navigator.appName"や"navigator.appVersion"等を使用して、各々のブラウザに最適化したページに振り分けを行う、などの対策も考慮に入れて作成することが必要です。


[コラムのページへ...]