Die Ursprünge von JavaScript, DOMDie Ursprünge von JavaScript JavaScript wurde von Netscape entwickelt, in Zusammenarbeit mit Sun Microsystems. Vor JavaScript, Web-Browser waren recht einfach Stücke von Software, die Anzeige von Hypertext-Dokumenten. JavaScript wurde später eingeführt, um einige zusätzliche Würze zu Web-Seiten hinzuzufügen und diese zu mehr interaktiv. Die erste Version, JavaScript 1.0, gab sein Debüt in Netscape Navigator 2 im Jahr 1995. Zum Zeitpunkt der JavaScript 1.0 's release, beherrscht der Browser Netscape Navigator Markt. Microsoft zu kämpfen hatte den Anschluss an einem eigenen Browser, Internet Explorer, und wurde schnell zu folgen führen Netscape durch die Freigabe seiner eigenen Sprache VBScript, zusammen mit einer Version von JavaScript namens JScript, mit dem Aufkommen des Internet Explorer 3. Als Reaktion auf diese, Netscape und Sun Set über die Standardisierung der Sprache, zusammen mit dem EUROPÄISCHEN Computer MOTOREN Association (ECMA). Das Ergebnis war, ECMAScript, noch einen anderen Namen für die gleiche Sprache. Obwohl der Name nicht wirklich stecken, sollten wir wirklich eine Bezugnahme auf JavaScript als ECMAScript. JavaScript, ECMAScript, JScript, was immer Sie es nennen, war auf dem Vormarsch von 1996. Version 3 Browser von Netscape und Microsoft unterstützt sowohl die JavaScript 1.1 Sprache in unterschiedlichem Maße. Ich möchte darauf hinweisen, dass JavaScript nichts mit Java, eine Programmiersprache von Sun Microsystems zu tun hat. JavaScript Ursprünglich war LiveScript genannt werden. "JavaScript" war wohl gewählt, um die neue Sprache klingen lassen wie es war in guter Gesellschaft. Leider ist die Auswahl an diesen Namen wirklich nur den Effekt der Verwechslung der beiden Sprachen in den Köpfen der Menschen eine Verwirrung, die durch die Tatsache, dass Web-Browser auch für eine Form von Client-seitigen Java erweitert wurde. Während jedoch die Java Stärke liegt in der Tatsache, dass es theoretisch können in nahezu jeder Umgebung eingesetzt werden, wurde JavaScript immer die Grenzen des Web-Browsers. JavaScript ist eine Skriptsprache bestimmt. Dies bedeutet, dass im Gegensatz zu einem Programm, das alles macht sich, erzählt die JavaScript-Sprache einfach den Web-Browser, was zu tun. Der Web-Browser interpretiert das Skript und übernimmt die ganze Arbeit, weshalb JavaScript oft ungünstig ist, verglichen mit kompilierten Programmiersprachen wie Java und C + +. Aber JavaScript relative Einfachheit ist auch seine Stärke. Weil es eine niedrige Marktzutrittsschranke, nicht hat, Programmierer, zu schneiden und Skripte integrieren in ihre bestehende Web-Seiten schnell die Sprache wollte. JavaScript bot auch Entwickler die Chance, Aspekte der Web-Browser zu bearbeiten. Zum Beispiel könnte die Sprache verwendet, um die Eigenschaften von einem Browser-Fenster, wie seine Höhe, Breite zu manipulieren, und Position. Adressierung im Browser ihren eigenen Eigenschaften auf diese Weise kann man sich als Browser Object Model (BOM). Frühe Versionen von JavaScript auch vorgesehen eine primitive Art von Document Object Model.
Was ist ein Document Object Model? Kurz gesagt, ist ein Document Object Model (DOM) eine Möglichkeit der Konzeptionierung des Inhalts eines Dokuments. In der realen Welt, die wir alle teilen, was ich will eine Welt Object Model nennen. Wir können auf andere Objekte in unserer Umwelt Verwendung von Begriffen wie "Auto", "Haus" und "Baum" und ziemlich sicher sein, dass unsere Begriffe verstanden werden. Das ist, weil wir uns gegenseitig vereinbart haben, auf die Objekte, die die Worte beziehen sich auf spezifisch ist. Wenn ich sage: "Das Auto ist in der Garage," es ist sicher davon ausgehen, dass Sie nicht stattfinden wird, die im Sinne von "Der Vogel ist in den Schrank." Our World Object Model ist nicht auf materielle Objekte beschränkt, es gilt aber auch Konzepte.
document.images [2] document.forms [ 'details'] Dieser erste, vorläufige Art Document Object Model wird oft als DOM Level 0 bezeichnet. In diesen frühen, unbeschwerte Tage, war die häufigste Verwendung von DOM Level 0 für Rollover-Effekte und einige Client-seitige Formular Validierung. Aber wenn die vierte Generation der Browser von Netscape und Microsoft erschienen, die DOM traf den Fan. Die Browser-Kriege Netscape Navigator 4 (NN4) wurde im Juni 1997 veröffentlicht und im Oktober dieses Jahres hatte Internet Explorer 4 (IE4) auch freigegeben wurde. Beide Browser versprach zahlreiche Verbesserungen gegenüber den vorherigen Fassungen, zusammen mit vielen Ergänzungen, was man mit JavaScript erreicht werden, indem ein stark erweitertes DOM. Web-Designer wurden aufgefordert, zu testen, die neueste Schlagwort Laufwerk: DHTML. Die D-Wort: DHTML DHTML war für die dynamische HTML kurz. Nicht eine Technologie an und für sich war DHTML Abkürzung Begriff zur Beschreibung der Ehe von HTML, CSS und JavaScript. Der Gedanke hinter DHTML ging so: Sie können HTML-Marke verwenden, um Ihre Webseite in Elemente. Sie können CSS Stil und Position zu nutzen diesen Elementen vor. Sie können JavaScript verwenden, um zu manipulieren und ändern Sie diese Stile on the fly ". DHTML verwies auf die Kombination dieser drei Techniken. Mit DHTML, komplexe Animations-Effekte plötzlich möglich. Nehmen wir an, der Sie HTML-Markierung, bis eine Seite Element wie folgt aus:
Das ist mein Element Sie könnten dann mit CSS Positionierung Stilen wie diese anzuwenden:
# myelement (position: absolute; left: 50px; top: 100px;) Dann, mit Hilfe von JavaScript, können Sie den linken und oberen Styles von myelement ändern, um ihn auf der Seite verschieben. Nun, das ist die Theorie sowieso. Leider für Entwickler, beide Browser verschiedene, untereinander unvereinbare DOM verwendet. Obwohl der Browser-Hersteller waren die Förderung der gleichen Ziele, näherte sie sich der DOM-Problem in ganz unterschiedlicher Weise. Clash of the Browser Der Netscape-DOM Gebrauch gemacht von proprietären Elemente genannt Schichten. Diese Schichten erhielten eindeutigen IDs und dann durch JavaScript wie folgt behandelt:
document.layers [ 'myelement'] Gleichzeitig wäre der Microsoft DOM-Adresse das gleiche Element wie folgt aus:
document.all [ 'myelement'] Die Unterschiede noch nicht zu Ende. Angenommen, Sie wollten herausfinden, die linke Position myelement und weisen Sie auf die Variable xpos. In Netscape Navigator 4 würden Sie dies wie folgt:
var xpos = document.layers [ 'myelement']. left; Hier ist, wie Sie dasselbe in Internet Explorer 4 tun würde:
var xpos = document.all [ 'myelement']. leftPos; Dies war eindeutig eine absurde Situation. Entwickler hatten, ihren Code Gabel zu irgendeiner Art von DOM-Scripting zu erreichen. Tatsächlich wurden viele Skripte zweimal geschrieben, einmal für NN4 und einmal für IE4. Convoluted Browser Sniffing war oft notwendig, um zu dienen bis das richtige Skript. DHTML versprach eine Welt der Möglichkeiten. Aber wer wirklich versucht, es zu benutzen entdeckte eine Welt des Schmerzes statt. Es dauerte nicht lange, DHTML wurde ein schmutziges (Buzz) Wort. Die Technologie erlangt rasch den Ruf, sowohl über Hype und übermäßig schwierig umzusetzen. Hebung Während die Browser-Hersteller waren damit beschäftigt, ihre Beteiligung an Kampf um die Vorherrschaft, und mit konkurrierenden französischen überseeischen Departements als Waffen im Krieg wurde der W3C ruhig die Zusammenstellung eines standardisierten Document Object Model. Glücklicherweise waren die Browser-Hersteller in der Lage, die Aufhebung ihrer gegenseitigen Animositäten. Netscape, Microsoft und andere Browser-Hersteller arbeitete zusammen mit dem W3C auf dem neuen Standard-und DOM Level 1 wurde im Oktober 1998 abgeschlossen. Gehen wir zurück zu unserem Beispiel, nehmen wir einmal an, wie das neue standardisierte DOM würde der gleichen Situation zu bewältigen. Denken Sie daran, wir haben eine mit der ID myelement und wir versuchen, den Wert, die an der linken Position so angewandt, dass wir diesen Wert zu speichern, lässt sich feststellen, wie die Variable xpos. Hier ist die Syntax, die wir verwenden würden:
var xpos = document.getElementById ( 'myelement'). style.left Auf den ersten Blick, dass offenbar nicht als Verbesserung gegenüber den Nicht-Standard-, proprietäre Doms. Jedoch die standardisierte DOM ist viel ehrgeiziger Zielsetzung. Während die Browser-Hersteller einfach irgendwie auf dem Web-Seiten mit JavaScript manipulieren wollte, schlug die W3C ein Modell, das genutzt werden könnte durch beliebig Programmiersprache zu manipulieren, beliebig Dokument geschrieben in beliebig Markup-Sprache. Denken außerhalb des Browsers Das DOM ist das, was als ein Application Programming Interface (API) bekannt. APIs sind im Wesentlichen auf Übereinkommen, die sich im gegenseitigen Einvernehmen vereinbart. Real-Welt-Äquivalent wäre Dinge wie:
All diese Dinge sind Standards, und sie machen es den Menschen leichter zu kommunizieren und zusammenzuarbeiten. In Situationen, in denen ein einziges Übereinkommen nicht vereinbart wurde, ist das Ergebnis oft verheerend. Denken Sie daran, den Wettbewerb zwischen metrischen und imperialen Maßeinheiten in mindestens einem gescheiterten Mars-Mission führte. In der Welt der Programmierung, gibt es viele verschiedene Sprachen, aber es gibt viele ähnliche Aufgaben. Deshalb APIs sind so praktisch. Wenn Sie die Standard-kennen, können Sie es in vielen verschiedenen Umgebungen. Die Syntax kann sich ändern, je nach der Sprache, die Sie verwenden, aber der Konvent bleibt der gleiche. Also, wenn ich speziell mit Fokus auf das DOM mit JavaScript in diesem Artikel, Ihr neues Wissen des DOM auch sehr nützlich, wenn Sie schon einmal in ein XML-Dokument mit einer Programmiersprache wie PHP oder Python analysieren müssen. Das W3C definiert das DOM als "eine Plattform-und Sprach-Schnittstelle, die es Programmen und Skripten für den dynamischen Zugriff und Aktualisierung der Inhalte, Struktur ermöglicht, und die Art der Dokumente." Die Unabhängigkeit des standardisierten DOM, zusammen mit seiner mächtigen Umfang, legt sie den Kopf und Schultern über das proprietäre DOM durch die Streitereien Browser Hersteller geschaffen. Das Ende der Browser-KriegeMicrosoft gewann den Kampf um die Browser-Markt-Aktien Vorherrschaft. Ironischerweise war das Aufeinandertreffen von konkurrierenden französischen überseeischen Departements und proprietäre Markup wenig Einfluss auf das Endergebnis. Internet Explorer bestimmt war, einfach aufgrund der Tatsache, dass es kam vorinstalliert auf allen PCs mit dem Windows-Betriebssystem installiert zu gewinnen. Die Leute, die am härtesten getroffen, die vom Browser Kriege waren Web-Designer. Cross-Browser-Entwicklung hat zu einem Alptraum werden. Sowie die Unterschiede in der JavaScript-Implementierungen, die ich bereits erwähnt habe, zwei Browsern hatten auch sehr unterschiedliche Unterstützung von CSS. Erstellen von Stylesheets und Skripts, die auf beiden Browsern gearbeitet wurde eine Art schwarze Magie. Eine Gegenreaktion begann gegen die eigene Haltung der Browser-Hersteller. Eine Gruppe wurde gebildet, die sich selbst die Web Standards Projekt, oder die für kurze WaSP (http://webstandards.org/). Die erste Aufgabe, dass die Wespe zu fördern Browser Entscheidungsträger den Empfehlungen des W3C-selben Empfehlungen, die der Browser-Hersteller haben dazu beigetragen, erlassen Entwurf verpflichtet. Ob es aufgrund der Wespe oder das Ergebnis der internen Entscheidungen des Unternehmens Druck, es war viel größer Unterstützung für Web-Standards in die nächste Generation von Web-Browsern. Ein neuer Anfang Internet Explorer 5 ausgeliefert mit eingebauter Unterstützung für standardisierte DOM WC3, während auch Unterstützung für die Beibehaltung der alten, entschied proprietären Microsoft DOM. Netscape, um einen klaren Bruch zu machen und einen Browser, veröffentlicht hatte so gut wie nichts gemein mit NN4. Netscape Navigator 6 auch eine Versionsnummer übersprungen, und es verwendet eine völlig andere Rendering-Engine mit viel, viel größer CSS-Unterstützung. Darüber hinaus unterstützt das standardisierte DOM, aber ohne die Rückwärtskompatibilität für den alten Netscape-DOM. Spätere Versionen von Netscape und Microsoft verbessert auf früheren Inkarnationen mit erhöhter Unterstützung für Web-Standards. Leider hat die Entwicklung von Internet Explorer in der Version 6 stagnierte. Das ist schade, da einige noch Probleme mit der Umsetzung des Browsers von CSS bleiben. Unterstützung für DOM Level 1, jedoch ist felsenfest. In der Zwischenzeit haben auch andere Browser auf der Bildfläche erschienen. Wenn Apple seinen Webbrowser Safari im Jahr 2003 debütierte, war es keine Frage, dass sie die DOM-Standards folgen würden. Firefox, Mozilla und Camino, alle auf der gleichen Open-Source-Rendering-Engine wie Netscape 6 und 7 auf, haben eine exzellente Unterstützung für die DOM. Opera und Konqueror bieten auch große DOM unterstützen. Über 95% der Browser im aktiven Gebrauch heute verfügen über integrierte Unterstützung für die DOM. Die Browser-Kriege in den späten neunziger Jahren scheinen gut und wirklich hinter uns. Obwohl keine einzige Browser, der W3C-DOM ist perfekt umgesetzt, für alle modernen Browsern etwa 95% der Spezifikationen. Dies bedeutet, es gibt eine riesige Menge, die wir ohne sich um die Verzweigung Code Sorge leisten kann. Stagnierte die Entwicklung der Internet Explorer trotz hat das Leben für die Web-Designer verbessert. Anstatt das Schreiben von Skripts mit gespaltener Code serviert mit komplizierten Browser, Schnupfen, sind wir nun in der Lage, etwas zu schreiben und zu veröffentlichen, wenn es überall. Solange wir folgen der DOM-Normen, können wir sicher sein, dass unsere Skripte fast überall funktioniert. What's next? Eines sollten Sie auf jeden Fall weg von meiner kurzen JavaScript Geschichtsunterricht nehmen ist, dass verschiedene Browser verwendet, um die gleichen Aufgaben auf verschiedene Weise erreichen. Diese unumstößliche Tatsache beherrscht nicht nur das Schreiben von JavaScript-Skripten, diktiert, wie es auch Artikel über JavaScript geschrieben wurden. Jede JavaScript Artikel zu demonstrieren, wie die Sprache anhand von Beispielen zu lernen hatten oft die gleichen Skripte auf unterschiedliche Weise für verschiedene Browser geschrieben zeigen soll. Genau wie der Code auf den meisten Websites, die Beispiele in den meisten Artikeln JavaScript waren voll von Browser Sniffing und Code-Verzweigung. Ebenso könnte die technische Referenz-Artikel zu JavaScript nicht einfach enthalten Listen von Funktionen und Methoden. Sie hatten auch auf die Funktionen und Methoden Dokument wurden unterstützt durch die Browser. Die Situation hat sich nun geändert. Durch die Standardisierung des DOM, haben verschiedene Browser die gleichen Dinge in der gleichen Weise. Dies bedeutet, dass, wenn ich zeige ich Ihnen, wie Sie etwas mit JavaScript und dem Document Object Model, werden wir nicht vom Browser Unstimmigkeiten ablenken lassen. Ich werde versuchen zu vermeiden, in denen eine bestimmte Browser in diesem Artikel. Ich bin auch nicht gehen, den Begriff DHTML mehr. Der Begriff immer besser funktionierte als Marketing-Schlagwort denn als eine technische Beschreibung. Für eine Sache, es klingt zum Verwechseln ähnlich einem anderen Geschmack von HTML oder XHTML. Außerdem kommt der Begriff mit viel Gepäck. Wenn Sie DHTML für jeden, der versuchte, sie in den späten neunziger Jahren zu nennen, haben Sie eine harte Zeit überzeugen, dass es eine einfache, standardisierte Technologie ist jetzt vorbei. DHTML sollte auf die Kombination von (X) HTML, CSS, und beziehen JavaScript, aber in Wirklichkeit, bindet, was diese Dinge zusammenbringt, ist die DOM. Wenn wir jeden Begriff Notwendigkeit, diesen Prozess zu beschreiben, verwenden wir etwas genauer. Während der Begriff DHTML könnte dazu verwendet werden, beziehen sich auf spezifische Kodierung, scheint es nicht richtig, zu versuchen, den gleichen Begriff, um Standards für Browser-basierte Codierung. DOM Scripting ist eine genauere Art und Weise auf die Manipulation von Dokumenten und Style-Sheets mit dem W3C Document Object Model beschreiben. Die DHTML bezog sich nur auf Web-Dokumente können DOM Scripting verwendet werden, in Verbindung mit einem marked-up-Dokument mit jeder beliebigen Sprache, dass die DOM-API unterstützt . Im Falle von Web-Dokumenten, macht die Omnipräsenz von JavaScript ist die beste Wahl für DOM Scripting. Ein Artikel eingereicht von Jacques Goudreau Disclaimer:Unsere Website ist nicht verantwortlich für den Inhalt dieses Artikels. Webarticles ist eine kostenlose Informationsquelle. Wichtig: Dieser Artikel "Die Ursprünge von JavaScript, DOM" wurde durch ein automatisches Software übersetzt. Wir fühlen uns leid für alle Rechtschreibfehler, die möglicherweise aufgetreten sind. Vielen Dank für Ihr Verständnis.
|
|||||
| Online: 107 users browsing the articles directory |
|
|