• <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 閱讀(440) 評論(0)  編輯 收藏 引用 所屬分類: browser
            <2009年12月>
            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久久国产免费福利| 思思久久99热免费精品6| 久久久久久国产精品免费无码 | 久久精品国产亚洲AV高清热| 97精品久久天干天天天按摩| 日韩精品久久久久久| 色妞色综合久久夜夜| 青青青国产精品国产精品久久久久| 久久精品一区二区影院| 无码AV波多野结衣久久| 久久精品国产亚洲Aⅴ蜜臀色欲| 亚洲AV无码久久寂寞少妇| 久久亚洲精品无码观看不卡| 久久久久国产精品熟女影院| 欧美日韩中文字幕久久久不卡| 久久发布国产伦子伦精品| 热久久视久久精品18| 久久久久久久久久久免费精品| 久久亚洲AV成人出白浆无码国产| 污污内射久久一区二区欧美日韩| 久久99国产精品久久久| 日韩人妻无码精品久久免费一| 久久久久久国产精品免费免费| 久久线看观看精品香蕉国产| 久久夜色精品国产噜噜噜亚洲AV| 伊人久久大香线蕉成人| 亚洲Av无码国产情品久久| 久久精品国产色蜜蜜麻豆| 精品无码久久久久久国产| 国产日韩久久免费影院| 久久精品九九亚洲精品天堂| 波多野结衣中文字幕久久| 久久99精品久久久久久久不卡| 亚洲中文字幕无码久久综合网| 超级碰碰碰碰97久久久久| 性做久久久久久久久久久| 香蕉99久久国产综合精品宅男自| 久久久久国产精品麻豆AR影院| 久久人搡人人玩人妻精品首页 | 日韩久久久久久中文人妻| 伊人久久大香线焦AV综合影院|