SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

クロスブラウザスクリプトの作成テクニック

ブラウザがサポートしているスクリプトを判断する

クロスブラウザスクリプトの作成テクニック 第7回


実行結果

 実行結果は以下のようになりました。

getElementById、all両方に対応したブラウザ

Internet Explorer 7の結果
Internet Explorer 7の結果
Opera 9の結果
Opera 9の結果

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

Firefoxの結果
Firefoxの結果
Netscape8の結果
Netscape8の結果
Safariの結果
Safariの結果

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

Internet Explorer 4の結果
Internet Explorer 4の結果
  • バージョン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メソッドの両方あるいは片方をサポートしたブラウザで実行され、サポートしていないブラウザではエラーを起こさないスクリプト」を作ることができそうです。

次のページ
使用できるスクリプト判断し、文字サイズを変更する

この記事は参考になりましたか?

クロスブラウザスクリプトの作成テクニック連載記事一覧

もっと読む

この記事の著者

半場 方人(ハンバ マサヒト)

Netscape2.XでJavaScriptに初めて出合ったころ、「なぜJavaScriptの日本語の書籍が無いんだ」、とあちこちで嘆いていたら、じゃあおまえが書け、とお声がかかり、JavaScript関連の書籍を執筆するようになる。執筆に際していつも考えるのは、「JavaScript初心者だった頃の気持ちを忘れないよに」、ということ。主な著書は、「標準Webデザイン講座 JavaScript&Ajax」(翔泳社)などがある。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/1378 2008/08/26 13:54

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー