実行結果
実行結果は以下のようになりました。
getElementById、all両方に対応したブラウザ


getElementByIdのみに対応したブラウザ



allのみに対応したブラウザ

- バージョン5以降のInternet ExplorerとOperaは、『「getElementById」に対応したブラウザ』『「all」に対応したブラウザ』の両方の文字列が書き出されました。
- Firefoxやバージョン6以降のNetscape、Safariでは『「getElementById」に対応したブラウザ』の文字列のみが書き出されました。
- Internet Explorer 4.Xでは『「all」に対応したブラウザ』の文字列のみが書き出されました。
以上のことから、次のことが分かります。
- getElementByIdメソッド
Internet Explorerではバージョン5から、その他OperaやFirefox、バージョン6以降のNetscape、Safariなどがサポートしていてるが、Internet Explorer 4.Xではサポートしていない。
- allメソッド
バージョン4以降のInternet Explorer全般およびOperaでサポートされており、Firefox、Netscape、Safariは、どのバージョンでもサポートしていない。
なお、Netscape Navigator 4.XなどのgetElementByIdメソッド、allメソッドをサポートしていないブラウザでは、何も書き出されません。また、サポートしていないスクリプトが実行された時に発生するエラーも発生しません。
以上のことを踏まえると、ブラウザのDOM実装の違いを考慮し、「getElementByIdメソッド、allメソッドの両方あるいは片方をサポートしたブラウザで実行され、サポートしていないブラウザではエラーを起こさないスクリプト」を作ることができそうです。
