JavaScriptでは、DOMの起源

JavaScriptの起源

JavaScriptがNetscape社によっては、Sun Microsystemsとのコラボレーションで開発されました。 JavaScriptを前に、ソフトウェアのハイパーテキスト文書を表示することができるのウェブブラウザはかなり基本的だった作品。 JavaScriptの後に、Webページにいくつかの余分なスパイスを加えるに導入され、それらをよりインタラクティブにする。最初のバージョンは、JavaScript 1.0、Netscape Navigatorを2に、1995年にデビューには、JavaScript 1.0の時間'で釈放、Netscape NavigatorのMicrosoftは、独自のブラウザは、Internet Explorerとキャッチアップして速かった苦しんでいたのブラウザ市場を支配JavaScriptのバージョンと共に、JScriptのと呼ばれる独自のVBScript言語のリリースでは、Internet Explorer 3の配信に、Netscapeのリード従ってください。この、NetscapeとSunは、一緒に言語の標準化についての設定への応答として、 メールuropean Ĉomputer メートルanufacturers ssociation(はECMA)。

その結果、ECMAScriptのは、同じ言語にはまだ別の名前だった。という名前は本当にスタックことは、本当にJavaScriptにはECMAScriptには、JavaScriptはECMAScript、JScriptでは、どんな場合に、1996年に地歩を固めつつ年をコールする場合に参照する必要があります。 Netscapeからバージョン3のブラウザとMicrosoftは、さまざまな程度には、JavaScript 1.1のサポートされた言語。私は、JavaScriptからJava、プログラミング言語、Sun Microsystemsの開発とは何の関係もないと指摘してください。 JavaScriptはもともとLiveScriptと呼ばれるようになるされました。"のような良い会社ではJavaScriptを"おそらく、新しい言語の音を出すに選ばれました。残念なことに、この名の選択は本当に唯一の人々の心の中で2つの言語、という事実は、Webブラウザでも、クライアントのフォームをサイドJavaのサポートによって増幅された混乱を混乱の影響を与えた。しかし、Javaの強みは、実際には、理論的にはほぼすべての環境にデプロイすることができますに位置し、JavaScriptを常にには、JavaScriptのスクリプト言語をされているWebブラウザの範囲を対象としている。

これは、自分自身をすべてやってくれるプログラムとは異なり、JavaScript言語は、単にウェブ何をするかブラウザに指示を意味します。 Webブラウザは、スクリプトを解釈している理由JavaScriptを頻繁に不利で、JavaやCなどのプログラミング言語をコンパイル+比較されているすべての作業は+。しかし、JavaScriptの相対的なシンプルさも、その強さです。これは人を削減し、既存のWebページにスクリプトを貼り付け、すぐに言語を採用したい、プログラマのエントリ以外のハードルも低い。JavaScriptはまたの機会は、Webブラウザの側面を操作するために開発提供し、例えば、言語になる可能性がその高さ、幅などのブラウザのウィンドウのプロパティを操作するために、使用されると位置。この方法では、ブラウザの独自のプロパティのアドレスと考えることができるようにブラウザのオブジェクトモデル(BOM)を。 JavaScriptの初期のバージョンには、ドキュメントオブジェクトモデルのプリミティブをソートします。

  

何のDocument Object Modelですか?

要するに、ドキュメントオブジェクトモデル(DOM)は、文書の内容を概念化の方法です。現実の世界では、私は世界のオブジェクトモデルと呼ぶことに、すべての共有するか。我々のオブジェクトへの当社の環境では"車"、"家"と"ツリー"のような、かなり我々の用語を理解すると確信される用語を使用して参照することができます。私たちは相互の時にオブジェクトは、単語を具体的に参照することで合意したからだ。もし私が"と言う車のガレージでは、"それと仮定する場合は、"鳥は食器棚にあることを意味していないが安全だ。"我々の世界オブジェクトモデルの具体的なオブジェクトにも、それも適用が制限されていません概念です。

例えば、私は"3番目の家の左に、"ときに指示を与える参照することがあります。その説明については、第3次"の概念"と""左に理解される必要が理にかなって。もし私がさせるような説明をしたか、数えることができない人、右からして、説明を本質的に無意味であるかどうかではなく、言葉を理解されている左側の言うことができない誰かに、現実のため、人々は概念の世界のモデルに同意するは、非常に簡単な説明な意味を持つことができます。私はかなり"のは、他の共有私の概念を左"と"第三のことを確認することができます。"これは、Webページと同じ状況です。 JavaScriptの初期バージョンを開発する能力を照会すると、一部のWebドキュメントの実際の内容を操作、ほとんどが画像やフォームを提供する。用語"画像"と"フォーム"をあらかじめ定義されていたため、JavaScriptを"文書"や"フォームの[詳細という名前の3番目の画像に対処するため"として表示:使用される可能性が

 

document.images [2] document.forms ['詳細']

ドキュメントオブジェクトモデルのこの最初の、仮の並べ替えが多いためのDOMレベル0と呼ばれます。これらの初期の、気楽な日々に、DOMレベル0の中で最も一般的な使用イメージのロールオーバーや、一部のクライアント側のフォーム検証のためだった。しかし、NetscapeとMicrosoftのブラウザの第4世代は、DOM、実際にはファンがヒット登場しました。

ブラウザ戦争

Netscape Navigatorの4(NN4)6月、1997年に発売され、10月、その年によっては、Internet Explorer 4(IE4)がも発売されていた。両方のブラウザ以前のバージョンでは、多くの改善を約束に沿って何JavaScriptを使用し、使用して達成することが可能に多くの追加と大幅にDOMを拡大した。 Webデザイナーをテストするため、最新の流行語ドライブが奨励された: DHTMLビューア

は、Dの単語:DHTMLビューア

DHTMLの動的なHTMLのための短いものだった。それ自体はしないの技術は、DHTMLはHTML、CSS、およびJavaScriptの結婚を記述するための速記的だった。 DHTMLの背後にある考え方は、このように行った:この要素には、WebページをマークアップするHTMLを使用することができます。あなたのスタイルと位置にそれらの要素は、CSSを使用することができます。あなたが操作するためにJavaScriptを使用し、。DHTMLビューアと呼ばれる場で、それらのスタイルを変更するこれら3つの技術の組み合わせです。 DHTMLビューアを使用して、複雑なアニメーション効果が突然可能となった。の場合は、このようなページ要素をマークアップするHTMLを使用してみましょう:

 

これは私の要素である

次に、CSSのこのような位置決めスタイルを適用するために使用できる:

 

#myelement(位置:絶対;左:50px;トップ:100px;)

その後は、JavaScriptを使用すると、ページの周りに移動するmyelementのleftとtopのスタイルを変更することができます。まあ、その理論とにかくされた開発者の残念なことに、両方のブラウザは異なり、互換性のないDOMを使用しましたが、ブラウザのメーカーは、同一の終了を促進されたものの、それぞれ全く別の方法では、DOMの問題に接近した。

衝突のブラウザの

NetscapeのDOMのレイヤーと呼ばれる独自の要素を使用している。これらの層は、ユニークなIDが指定され、その後はJavaScriptを介してこのようなアドレス:

 

をdocument.layers ['myelement']

一方では、MicrosoftのDOMは、このように、同一の要素に対処すること:

 

document.all ['myelement']

違いが終了しませんでした。の場合myelementの左の位置を確認したいと変数のxposをに代入するとしましょう。 Netscape Navigatorの4では、このようにやるよ:

 

ヴァールxposを=をdocument.layers ['myelement']。左;

ここでどのようにInternet Explorer 4のと同じことを行うことです:

 

ヴァールxposを= document.all ['myelement']。leftpos;

これは明らかにおかしな状況だった。開発者はDOMベースのスクリプティングの任意の並べ替えを達成するためのコードをforkしていた。効果があり、多くのスクリプトを2回NN4のために一度IE4のために書かれた。複雑なブラウザスニッフィングが多い。DHTMLの可能性の世界を約束したが、適切なスクリプトを提供するために必要だった。しかし、だれでも、実際に使用しようとしたのではなく、痛みの世界を発見した。その前に、DHTMLをダーティ(話題になった長い)という言葉はなかった。この技術は、すぐに大騒ぎの両方を過度に実装することは困難さのための評判を獲得した。

標準的な子育て

また、ブラウザーのメーカーの覇権のために戦闘に従事し、忙しいされ、兵器としての競合のDOMを使用してその戦争では、W3Cのひっそりと一緒に、標準のDocument Object Modelを入れていた。幸いなことに、ブラウザのベンダーが相互に敵意を取っておくことができた。は、Netscape、Microsoft、およびその他のブラウザのメーカーを一緒にW3Cとの新たな標準とDOM Level 1日1998年10月完成を続けていた私たちの例に戻ると、どのように新しい標準化されたDOMは、同じような状況に取り組むことを見ていきましょう。 、私たちが注意

IDをmyelementと我々は、その左に位置するので、我々はその値を格納することができますが適用されている値を確認しようとしている変数xposをした。ここで使用する構文は:

 

ヴァールxposを=)('myelementの'document.getElementById。style.left

一見したところで、それ以外の以上の改善標準的な、独自のDOMのように見えることがあります。しかし、標準化されたDOMとは、はるかにその適用範囲に意欲的だ。一方、ブラウザのメーカーは、JavaScriptを使ってWebページを操作するためにいくつかの方法を求めると、W3Cは、で使用される可能性のあるモデルを提案 任意の プログラミング言語を操作する 任意の 文書で書かれて 任意の マークアップ言語。

ブラウザの外で考える

DOMは、どのアプリケーションプログラミングインターフェイス(API)として知られています。 APIは、本質的に相互の合意により合意されている規則です。現実世界の同等のようなものになる:

  1. モールス符号
  2. 国際的なタイムゾーン
  3. 要素の周期表

これらのすべての物事の基準としており、彼らは容易に人々のコミュニケーションと協力を確認します。の状況では、単一の規則に合意されていない場合、結果はしばしば致命的だ。 、メトリックと皇帝の測定間の競争を覚え、少なくとも1つ失敗した火星探査ミッションの結果にしています。プログラミングの世界では、多くの異なる言語ですが、多くの同様のタスクです。だからこそ、APIのために便利ですだ。一度標準の知っている場合、多くの異なる環境に適用することができます。構文を使用している言語によって異なりますが、変更することが慣例と同じままです。

一方私は、特にこの記事は、DOMのあなたの新しい知識ではJavaScriptを使用してDOMを使用するに焦点を当てる場合は、これまでのXMLドキュメントをPHPやPythonのようなプログラミング言語を使用して解析する必要がありますので、また、非常に役に立つでしょう。W3CのDOMの定義"プラットフォームや言語に中立的なインターフェイスは、プログラムやスクリプトを動的にアクセスし、コンテンツの構造を更新できるようになるなど、文書のスタイル"は、強力なスコープを持つ標準化されたDOMの独立性を、一緒には、頭と肩の場所独自のDOMを政争のブラウザの製造元によって作成上記の。

ブラウザ戦争の終わりマイクロソフトのブラウザ市場シェアの覇権のための戦いに勝った。皮肉なことに、競合のDOMの衝突と独自のマークアップは、最終的な結果にはほとんど影響を与えなかった。 Internet Explorerで、単に事実は、プリインストールのすべてのPCは、Windowsオペレーティングシステムを実行してインストールのおかげで勝つために運命だった。人は、ブラウザ戦争で被害を最も受けていた人がいたのWebデザイナー。クロスブラウザの開発は、悪夢のようになっていた。だけでなく、私は以前に記載のJavaScriptの実装では矛盾として、2つのブラウザでもCSSのサポートは非常にさまざまなレベルだった。スタイルシートとは、両方のブラウザに取り組んでスクリプトを作成する黒魔術のようなものとなった。反発ブラウザメーカーの独自の立場を反対した。

グループ自体は、呼び出し元結成された ビューティー S通常tandards P、またはWaSPのショートroject(http://webstandards.org/)。最初のタスクは、WaSPのブラウザメーカー草案W3Cの勧告は全く同じ提言では、ブラウザのメーカーを助けたを採用することを奨励することでした約束した。かどうかは、WaSPの、または社内の意思決定の結果からの圧力のためにははるかに大きい、そこにあったWebブラウザの次世代のWeb標準をサポートします。

新たな始まり

Internet Explorer 5のWC3の標準化されたDOMをサポートしながら、また、古い、Microsoft独自のDOM。Netscapeは決別することとしていたブラウザのリリース決定のサポートを維持し、組み込みに付属の共通点は何もNN4の隣にあります。 Netscape Navigator 6でも、バージョン番号をスキップし、これまでのところ、はるかにCSSのサポートとは全く異なるレンダリングエンジンを使用します。また、標準化されたDOMのサポートが、古いNetscape DOMの任意の後方互換性のない両方、NetscapeとMicrosoftからの以降のリリースのWeb標準の増加をサポートする以前の化身に改善された。バージョン6で停滞し残念なことには、Internet Explorerの開発をしています。としていくつかの問題は、CSSのブラウザの実装に残るこれは残念です。 DOMレベル1のサポートは、堅実です。その間、他のブラウザではシーンに登場している。 Appleが2003年に同社のSafariブラウザのデビューはない質問には、それは、DOMの基準に従うことだった。

はFirefox、Mozilla、そしてCaminoには、すべてのNetscape 6および7と同じオープンソースのレンダリングエンジンに基づいて、DOMの優れたサポートをしている。 OperaとKonquererも偉大なDOMのサポートを提供します。アクティブな使用には、ブラウザの95%は、今日以上組み込まれているDOMのサポートがあります。 90年代後半のブラウザ戦争でも、本当に私たちの後ろに表示されます。これは1つのブラウザを完璧にW3C DOMの実装は、すべての最新ブラウザの仕様の約95%をカバーする。この中には膨大な量の我々のコードの分岐を心配することなく達成できるということだ。規定にかかわらず、寿命を大幅にWebデザイナーのため改善され、Internet Explorerの開発が停滞。代わりに、フォークのコードでスクリプトを書くの複雑なブラウザスニッフィングで、今一度何かを記述し、どこでもそれを公開する立場にあるが務めた。限り、我々は、DOM標準に従って、我々のスクリプトを、ほぼ普遍的に動作することを確認することができます。

次は何?

あなたは間違いなく離れて私の簡単なJavaScriptを歴史の教訓からしなければならないことの一つは、異なるブラウザ、異なる方法で同じタスクを達成するために使用されます。これは避けられない事実、それも決定JavaScriptスクリプトだけを書いていない支配する方法に関する記事JavaScriptが書かれていた。任意のJavaScriptの記事をどのように例によって多くの場合、同じスクリプトをブラウザごとに異なる方法で書かれて見るにしていた言語を習得するデモを目指した。コードと同じように、ほとんどのウェブサイトで、ほとんどのJavaScriptの資料の例は、ブラウザの盗聴やコードの分岐トラックを発見した。同様に、JavaScriptのテクニカルリファレンス記事を簡単に関数やメソッドのリストを含めることができませんでした。これにより、ブラウザの状況は今すぐ。変更されてサポートされていた彼らはまた、関数やメソッドのドキュメントがありました。

DOMの標準化のおかげで、別のブラウザとほぼ同じ方法で同じことをやる。これは、私がどのように何かを、JavaScriptとドキュメントオブジェクトモデルを使用して行うには、我々のブラウザの不整合が横道にそれるしない場合を示しているということです。私はこの記事では、特定のブラウザの言及を避けるしようとしています。私もよDHTMLのこれ以上の用語を使用するつもりはない。用語は、常により良い技術的な説明というよりも、マーケティングのキャッチフレーズとして働いていた。一つのことについては、これと紛らわしい、HTMLやXHTMLの別の味のように聞こえる。また、長期の荷物がたくさん付いています。場合は、誰でも90年代後半にそれを使用しようとDHTMLの言及は、ハード時は、簡単に、標準化された技術は現在、。DHTMLビューア(X)HTMLには、CSSの組み合わせを参照するようになっていたのを説得してよJavaScriptは実際に実際に、どのよう一緒にこれらの事をバインドし、DOMです。もし我々は、このプロセスを記述する任意の期間が必要なの何かをより正確に使用することができます。一方、長期のDHTMLを基準に同じ用語を適用するために符号化しようとする権利ていないようだ固有のコーディングは、ブラウザを参照するために使用することができます。

のDOMスクリプティング 文書やスタイルシートは、W3CのDocument Object Modelを使用しての操作を記述するために、より正確な方法であるのに対してDHTMLのウェブ文書だけには、DOMスクリプティングを使用することができます任意のマーク、文書を開くには、DOM APIをサポートする任意の言語を使用すると一緒に呼ばれる。ウェブ文書の場合には、JavaScriptの普及のDOM Scriptingのそれは最高の選択肢となります。

記事は、ジャックGoudreau提出


免責事項:弊社のウェブサイトは、この資料の内容については責任を負いません。 Webarticles無料の情報リソースです。
重要: この記事は、"JavaScriptの起源は、DOM"自動ソフトウェアによって翻訳された。大変申し訳ございませんが発生した可能性があります任意のスペルミスを感じている。お客様のご理解いただき、ありがとうございます。


Online: 264 users browsing the articles directory