• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 297,  comments - 15,  trackbacks - 0
            http://en.wikipedia.org/wiki/Document_Object_Model

            Document Object Model

            From Wikipedia, the free encyclopedia

            Jump to: navigation, search
            Hierarchy of objects in an example HTML DOM - Document Object Model

            The Document Object Model (DOM) is a cross-platform and language-independent convention for representing and interacting with objects in HTML, XHTML and XML documents. Objects under the DOM (also sometimes called "Elements") may be specified and addressed according to the syntax and rules of the programming language used to manipulate them. The rules for programming and interacting with the DOM are specified in the DOM Application Programming Interface (API).

            Contents

            [hide]

            [edit] History

            The history of the Document Object Model is intertwined with the history of the "browser wars" of the late 1990s between Netscape Navigator and Microsoft Internet Explorer, likewise that of JavaScript and JScript, the first scripting languages to be widely implemented in the layout engines of web browsers.

            [edit] Legacy DOM

            JavaScript was released by Netscape Communications in 1996 within Netscape Navigator 2.0. Netscape's competitor, Microsoft, released Internet Explorer 3.0 later the same year with a port of JavaScript called JScript. JavaScript and JScript let web developers create web pages with client-side interactivity. The limited facilities for detecting user-generated events and modifying the HTML document in the first generation of these languages eventually became known as "DOM Level 0" or "Legacy DOM". No independent standard was developed for DOM Level 0, but it was partly described in the specification of HTML4.

            Legacy DOM was limited in the kinds of elements that could be accessed. Form, link and image elements could be referenced with a hierarchical name that began with the root document object. A hierarchical name could make use of either the names or the sequential index of the traversed elements. For example, a form input element could be accessed as either "document.formName.inputName" or "document.forms[0].elements[0]".

            The Legacy DOM enabled client-side form validation and the popular "rollover" effect.

            [edit] Intermediate DOM

            In 1997, Netscape and Microsoft released version 4.0 of Netscape Navigator and Internet Explorer, adding support for Dynamic HTML (DHTML), functionality enabling changes to a loaded HTML document. DHTML required extensions to the rudimentary document object that was available in the Legacy DOM implementations. Although the Legacy DOM implementations were largely compatible since JScript was based on JavaScript, the DHTML DOM extensions were developed in parallel by each browser maker and remained incompatible. These versions of the DOM became known as the "Intermediate DOM."

            The Intermediate DOMs enabled the manipulation of Cascading Style Sheet (CSS) properties which influence the display of a document. They also provided access to a new feature called "layers" via the "document.layers" property (Netscape Navigator) and the "document.all" property (Internet Explorer). Because of the fundamental incompatibilities in the Intermediate DOMs, cross-browser development required special handling for each supported browser.

            Subsequent versions of Netscape Navigator abandoned support for its Intermediate DOM. Internet Explorer continues to support its Intermediate DOM for backwards compatibility.

            [edit] Standardization

            The World Wide Web Consortium (W3C), founded in 1994 to promote open standards for the World Wide Web, brought Netscape Communications and Microsoft together with other companies to develop a standard for browser scripting languages, called "ECMAScript". The first version of the standard was published in 1997. Subsequent releases of JavaScript and JScript would implement the ECMAScript standard for greater cross-browser compatibility.

            After the release of ECMAScript, W3C began work on a standardized DOM. The initial DOM standard, known as "DOM Level 1," was recommended by W3C in late 1998. About the same time, Internet Explorer 5.0 shipped with limited support for DOM Level 1. DOM Level 1 provided a complete model for an entire HTML or XML document, including means to change any portion of the document. Non-conformant browsers such as Internet Explorer 4.x and Netscape 4.x were still widely used as late as 2000.

            DOM Level 2 was published in late 2000. It introduced the "getElementById" function as well as an event model and support for XML namespaces and CSS. DOM Level 3, the current release of the DOM specification, published in April 2004, added support for XPath and keyboard event handling, as well as an interface for serializing documents as XML.

            By 2005, large parts of W3C DOM were well-supported by common ECMAScript-enabled browsers, including Microsoft Internet Explorer version 6 (2001), Gecko-based browsers (like Mozilla, Firefox and Camino), Konqueror, Opera, and Safari.

            [edit] Applications

            DOM is likely to be best suited for applications where the document must be accessed repeatedly or out of sequence order. If the application is strictly sequential and one-pass, the SAX model is likely to be faster and use less memory. In addition, non-extractive XML parsing models, such as VTD-XML, provide a new memory-efficient option.

            [edit] Web browsers

            A web browser is not obliged to use DOM in order to render an HTML document. However, the DOM is required by JavaScript scripts that wish to inspect or modify a web page dynamically. In other words, the Document Object Model is the way JavaScript sees its containing HTML page and browser state.

            [edit] Implementations

            Because DOM supports navigation in any direction (e.g., parent and previous sibling) and allows for arbitrary modifications, an implementation must at least buffer the document that has been read so far (or some parsed form of it).

            [edit] Layout engines

            Web browsers rely on layout engines to parse HTML into a DOM. Some layout engines such as Gecko or Trident/MSHTML are associated primarily or exclusively with a particular browser such as Firefox or Internet Explorer. Others, such as WebKit, are shared by a number of browsers, such as Safari and Google Chrome. The different layout engines implement the DOM standards to varying degrees of compliance.

            [edit] Libraries

            [edit] See also

            • DOM scripting
            • JDOM - a Java-based document object model for XML that integrates with DOM and SAX and uses parsers to build the document.
            • SXML - a model for representing XML and HTML in the form of S-expressions.
            • Ajax - a methodology employing DOM in combination with techniques for retrieving data without reloading a page.
            • TinyXml - efficient platform-independent XML library for C++.

            [edit] References

            [edit] External links

            [edit] Specifications

            [edit] Bindings



            posted on 2009-04-24 15:06 chatler 閱讀(434) 評論(0)  編輯 收藏 引用 所屬分類: browser
            <2012年5月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            常用鏈接

            留言簿(10)

            隨筆分類(307)

            隨筆檔案(297)

            algorithm

            Books_Free_Online

            C++

            database

            Linux

            Linux shell

            linux socket

            misce

            • cloudward
            • 感覺這個博客還是不錯,雖然做的東西和我不大相關,覺得看看還是有好處的

            network

            OSS

            • Google Android
            • Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
            • os161 file list

            overall

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            久久精品国产男包| 久久99国产精品成人欧美| 久久人与动人物a级毛片| 久久精品国产亚洲av麻豆图片| 久久久久亚洲av成人网人人软件 | 久久国产精品无码HDAV| 久久夜色精品国产亚洲| 天天影视色香欲综合久久| 亚洲va久久久噜噜噜久久| 国产精品99久久精品爆乳| 国内精品九九久久精品| 国产精品久久久久一区二区三区| 99久久精品免费看国产一区二区三区 | 麻豆AV一区二区三区久久| 国产无套内射久久久国产| 亚洲乱码精品久久久久..| 国产精品成人99久久久久 | 无码乱码观看精品久久| 韩国免费A级毛片久久| 久久人妻少妇嫩草AV蜜桃| 国产视频久久| 久久国产亚洲精品麻豆| 久久精品亚洲中文字幕无码麻豆 | 伊人久久大香线焦综合四虎| 久久精品国产99久久久古代| 国内精品久久久久国产盗摄| 久久久精品2019免费观看| 亚洲国产精品无码久久久蜜芽| 成人久久精品一区二区三区| 亚洲愉拍99热成人精品热久久| 三级韩国一区久久二区综合 | 欧美一区二区精品久久| 久久精品水蜜桃av综合天堂| 亚洲va国产va天堂va久久| 亚洲国产另类久久久精品| 伊人色综合久久天天人手人婷| 久久久午夜精品福利内容| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 91麻豆国产精品91久久久| 久久午夜无码鲁丝片午夜精品| 99久久精品免费看国产免费|