2016-04-13 1 views
-2

最近私のプロジェクトでこれが発生しましたが、私はこのことを完全に理解していないと思います。私が知っている唯一の事は次のとおりです:

- DOMは、ページの残りの部分をブロックする際に読み込まれるスクリプトを防ぎます。
-Htmlファイルやその他のページソースコードは解析され、DOMに変換されます。これを調べたり、ページソースを表示すると、コードのDOM形式がスローされます。
私はチュートリアルの助けを借りて私たちのプロジェクトでDOMを実装することもできました。

さて、私の質問は以下のとおりです。デベロッパーツールDOMで

-Isコード?
- DOMはシステムにセキュリティ機能を追加しますか?
- DOMはウェブブラウザのレイアウトエンジンに広く実装されているため、他にDOMを使用する利点はありますか?

ありがとうございます。 ドキュメントオブジェクトモデルの深い理解

+0

誰がこれを投票しましたか?理由を正当化できれば、私は気にしません。 –

+0

私はあなたを落札しませんでしたが、この質問はこのサイトで何度も尋ねられ、回答されました。 「DOM」と「ドキュメントオブジェクトモデル」を検索します。 – Sparky256

+0

ここには3つの質問しかありません。実際、私は部分的にDOMを理解しています。私はちょうどここにいくつかの説明がほしいです。 –

答えて

0

DOM(Document Object Model)は、特定のシステム/ノード内のコード/オブジェクト階層に関するものです。これは、逆さまの木の枝の象徴です。これは、コードの異なるレイヤーが常に親子兄弟関係を持つようにします。

他のコードブロック内のコードは、いずれも大きなブロックの子です。 htmlの場合、htmlタグは他のすべてのタグの親で、head、bodyタグの順に続きます。

表示されるコンテンツのほとんどは本文セクションにあり、1つの部門で表示されるメインページが作成されます。分割タグの後にul/li/p/aタグがあります。時にはspanタグが 'a'タグまたは 'p'タグのラッパーとして使用されます。

'ul'タグは、それが入っているdivタグの子であり、 'li'や 'p'タグは 'ul'タグの子です。
スパンタグは、オブジェクトやテキストをインラインで保持する必要性に応じて、使用時に場所が異なります。

可能な限り小さい子(またはノードツリーのリーフ)は、 'p'タグまたは 'a'タグのいずれかです。

'a'タグの中に他のタグは使用できません。

兄弟は、ツリー内の同じレベルのタグまたはノードではなく、隣接するdivタグまたはulまたはliタグ内にあります。彼らの関係は、そうする必要がない限り、通常は定義されていません。

要約すると、DOMは、html/XML/SQLおよび他のソフトウェアシステムの順序と可読性を保証するために使用されます。それは良い作業コードを保証するものではありませんが、設計段階の早い段階で効率的な作業コードを作成するのに役立ちます。

また、DOMの動作方法をバイパスまたは変更できる新しいコーディング機能が採用されています。マイクロサーバーとnode.jsを含むAngularjsとMEANは、クライアントWebページを事実上のデスクトップアプリケーションに変えようとしており、サーバーへの要求ができるだけ少なくなるようにしています。

これらの新機能は、DOMモデルと矛盾しませんが、ラッパーとして機能するため、Webサーバー上のアクション/編集/モーションは、メインサーバーに連絡せずに即座に表示されます。

ユーザーの操作がない間にメインサーバーに更新が送信されるため、WebサイトとPCは、少なくとも半永久的な変更の点で同期しています。

毎年何か新しいものが追加されるため、これらのトピックについてできるだけお読みください。

+0

さまざまなブラウザが少し異なる方法でDOMを実装する方法については、http://www.quirksmode.org/を参照してください。 – Sparky256

+0

あなたは私のポストに投票しましたか?私は知識のために飢えているだけです。 DOMはセキュリティ機能を追加していないし、DOMが実装されている唯一の理由は読みやすさのためですか?私はここで何かを逃していると思う。私はちょっと混乱しています。あなたの答えに基づいて、ここで述べたのように、ノードの「親子関係」を強制することによって、DOMはページの他のコードのブロックを避けることができますか?ちなみに、可読性がDOMの保証であれば、なぜスクリプトを直接呼び出すことができないのですか? –

+0

@ArchieAzares。 DOMは、階層構造で構造やコードを編成することです。これは、HTMLページまたはSQLテーブル上のすべてのオブジェクトへのパスをJavascript/SQLに与えます。 – Sparky256

関連する問題