• <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年5月>
            262728293012
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            常用鏈接

            留言簿(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久久久久91gav| 精品久久久久久国产| 国产高潮久久免费观看| 香港aa三级久久三级| 亚洲一级Av无码毛片久久精品| 欧美熟妇另类久久久久久不卡| 国产亚洲精品美女久久久| 久久国产视屏| 国产精品久久国产精麻豆99网站| 久久免费观看视频| 久久久久久久久久久免费精品| 久久亚洲中文字幕精品一区| 亚洲乱亚洲乱淫久久| 色婷婷综合久久久久中文| 伊人久久大香线蕉AV一区二区 | 久久水蜜桃亚洲av无码精品麻豆 | 亚洲国产成人久久一区久久| 2021少妇久久久久久久久久| 亚洲欧美另类日本久久国产真实乱对白| 久久久国产乱子伦精品作者| 久久夜色精品国产噜噜亚洲a| 精品无码久久久久久久动漫| 99久久免费国产精精品| 久久人人爽人人爽人人片AV不| 亚洲人成无码久久电影网站| 久久精品亚洲男人的天堂| 品成人欧美大片久久国产欧美| 欧美日韩中文字幕久久伊人| 99精品久久精品| 国产精品久久自在自线观看| 99精品久久精品| 日本精品久久久久中文字幕8| 久久无码av三级| 品成人欧美大片久久国产欧美| 99久久综合国产精品二区| 亚洲午夜精品久久久久久人妖| 久久精品国产99国产电影网 | 久久这里都是精品| 无码人妻精品一区二区三区久久 | 久久亚洲AV无码精品色午夜| 亚洲欧美国产日韩综合久久|