私はC/C++プログラマーであり、現在いくつかのJavascriptコードで遊んでいますが、ブラウザーで使用できる標準のJavascriptライブラリーのドキュメントがどこにあるかを見つけるのに問題があります。
具体的には、new Image()
で作成されたonload
にHTMLImageElement
コールバック関数を設定しています。 src
プロパティについても読みたいと思います。これは非標準の動作であるためです。このプロパティが割り当てられると、イメージが再ロードされます。
Mozillaには、ここにさまざまな属性のスケルトンドキュメントがいくつかあります。 https://developer.mozilla.org/en/DOM/Image ここにはドキュメントはなく、プロパティのリストのみがあります。 onload
プロパティは言及されていません。 src
プロパティがリストされていますが、ドキュメントはありません。
MSDNには、より優れたドキュメントがあります: http://msdn.Microsoft.com/en-us/library/cc197055(VS.85).aspx 。
私の質問は「標準のドキュメントはどこにありますか?」です。 Image()
はグローバル変数ですか、それともwindow
のプロパティですか? window
とdocument
のAPIを作成するのは誰ですか?標準はありますか、それとも各ブラウザはお互いをコピーするだけですか?
DOMは実際にはJavaScriptとは別のものです。 DOMには、IEのVBScriptなどの他の言語からアクセスできます。また、Java、Python、PHPなどの汎用プログラミング言語には、独自の非ブラウザーベースのDOMライブラリがあります。
HTMLドキュメントと一般的なXMLドキュメントの両方で機能する基本的なDOM操作は、 DOM Core ;にあります。 HTMLドキュメントは、 DOM HTML で定義された追加のメソッドを取得します。これらは、W3で定義されている最新の「レベル」のサポートです。すべてのブラウザがDOMレベル3コアのすべてをサポートしているわけではありません。しかし DOMレベル1コア はかなり堅実です。
紛らわしいことに、DOM HTMLはさらに発展しましたが、独自のDOM仕様ではありません。代わりに、HTML5の一部です。これにより、innerHTML
など、ブラウザですでに広くサポートされている多くの拡張機能が標準化され、まだ広く実装されていないものが多数追加されます(ドキュメントが標準化される前に変更される可能性があります)。
DOMは、ドキュメントオブジェクトモデルにすぎません。document
オブジェクト内に何を取得するかを指定します。 window
の内容など、他のブラウザ機能は指定していません。ブラウザオブジェクトモデル(BOM)は、以前は標準化されていませんでした。 HTML5は、それを適切に文書化するための最初の努力をしています。
HTML5は、以前は標準化されていなかったブラウザーオブジェクトモデル(BOM)の部分も指定します。 window
コンテンツに直接接続されていないdocument
のようなもの。
これらすべての結果として、Webスクリプトで使用できるメソッドとプロパティについてすべてを説明するドキュメントは1つもありません。いつかDOMCoreとHTML5がすべてをカバーするようになりますが、今日のHTML5には信頼できないものがたくさん含まれており、標準ドキュメントの標準でも、ガイドの中で最も読みやすいものではありません。そうです、MDCとMSDNで人気のあるサポートを引き続きチェックする必要があるのではないかと思います。
'Image'はグローバル変数ですか、それとも 'window'のプロパティはグローバルオブジェクトですか?
Image
は、HTML5によってwindow
オブジェクトのメンバーとして指定されています。これは、グローバルコンテキストであるため、単にImage
...として参照できます。 quiteグローバル変数と同じですが、ほとんどの場合十分に近いです。
これは、HTMLImageElement
インターフェイスを実装するDOMオブジェクトを返すコンストラクター関数です(DOMレベル1 HTMLから、HTML5で拡張)。これは元々、画像をプリロードするメカニズムとしてNetscape3.0で導入されました。さらに、作成済みのイメージに_document.images
_からアクセスして、src
を変更することもできます。今日、new Image()
はdocument.createElement('img')
と何も変わりません。
'src'プロパティについても読みたいと思います。これは非標準の動作であるためです。このプロパティが割り当てられると、イメージが再ロードされます。
画像は必ずしも再読み込みされるわけではありませんが、一部のブラウザではload
イベントが発生する可能性があります。残念ながら、これは標準化されていません(私が見る限り、HTML5でも)。 IE、Firefox、およびOpera load
セットごとにsrc
を起動します(src
が変更されていない場合でも)が、WebKit(Chrome/Safari )最初の画像の読み込み時にのみ起動します。
この種のことは、さまざまなブラウザの動作の大きなテーブルを持つサイトが存在する理由であり、さまざまなブラウザで積極的にテストする必要がある理由です。
新しいお気に入り: http://devdocs.io/dom/ (Devdocs.ioは一般に、多くの参考資料にとってかなり素晴らしいです)
(古い)私はこのDOMリファレンスが本当に好きです: http://krook.org/jsdom/
初心者の場合、これは、作業内容を理解し、次の概念を分離するのに役立ちます。
Javascript(DOMへのアクセスに使用される言語、他のスクリプト言語を使用できます)、
hTMLまたはXMLドキュメント(Webページの基礎を形成するマークアップ)
およびDOM(ドキュメントの構造と内容を操作できるようにするAPIとして機能するドキュメントのモデル)。
また、これらの有益なドキュメントへのリンクもあります。
W3C: ドキュメントオブジェクトモデルとは何ですか?
MDN: はじめに-ドキュメントオブジェクトモデル
ウィキペディア: ドキュメントオブジェクトモデル
DOMが歴史的な文脈でどのように開発されたかを知ることは、その構造とその操作方法を理解するのにも役立ちます。これについても、上記のリンクで説明しています。
私は時々 javascriptkit を使用しますが、非常に便利です。