As origens do Javascript, DOMAs origens do JavaScript O JavaScript foi desenvolvido pela Netscape, em colaboração com a Sun Microsystems. Antes de JavaScript, peças navegadores foram bastante básico de software capaz de exibir documentos de hipertexto. JavaScript mais tarde foi introduzida para adicionar algum tempero extra para páginas web e torná-los mais interativos. A primeira versão, JavaScript 1.0, lançado em Netscape Navigator 2 em 1995. No momento do JavaScript 1.0 's lançamento, o Netscape Navigator dominou o mercado de navegadores. Microsoft estava se esforçando para recuperar o atraso com o seu próprio browser, o Internet Explorer, e era rápido seguir o exemplo da Netscape, liberando sua própria linguagem VBScript, juntamente com uma versão de JavaScript chamado JScript, com a entrega do Internet Explorer 3. Como resposta a isso, Netscape e Sun conjunto sobre a padronização da linguagem, juntamente com o EUROPEIA Computer Manufacturers Association (ECMA). O resultado foi ECMAScript, ainda um outro nome para a mesma língua. Embora nunca o nome realmente preso, nós realmente deve estar se referindo a JavaScript como ECMAScript. JavaScript, ECMAScript, JScript, o que você quiser chamá-lo-foi ganhando terreno até 1996. Versão 3 navegadores da Netscape e da Microsoft, tanto apoiaram a linguagem JavaScript para 1,1 graus. Gostaria de salientar que o JavaScript não tem nada a ver com Java, uma linguagem de programação desenvolvida pela Sun Microsystems. JavaScript foi originalmente vai ser chamado LiveScript. "JavaScript" provavelmente foi escolhido para fazer o som novo idioma como se fosse em boa companhia. Infelizmente, a escolha deste nome realmente só teve o efeito de confundir as duas línguas na mente das pessoas, uma confusão que foi amplificado pelo fato de que navegadores da Web suportado também uma forma de client-side Java. No entanto, enquanto a força do Java reside no fato de que teoricamente pode ser implantada em praticamente qualquer ambiente, JavaScript sempre foi destinado para os confins do navegador web. JavaScript é uma linguagem de script. Isto significa que, ao contrário de um programa que faz tudo em si, a linguagem JavaScript simplesmente diz o web browser o que fazer. O navegador interpreta o script e faz todo o trabalho, razão pela qual o JavaScript é freqüentemente comparado desfavoravelmente com compilados linguagens de programação como Java e C + +. Mas a relativa simplicidade do JavaScript também é sua força. Porque tem uma baixa barreira à entrada, não-programadores que queriam cortar e colar scripts em suas páginas da web existentes adotaram rapidamente a língua. JavaScript também ofereceu aos desenvolvedores a chance de manipular os aspectos do navegador da web. Por exemplo, a língua pode ser usados para manipular as propriedades de uma janela do navegador, tais como a sua altura, largura e posição. Dirigindo próprias propriedades do navegador desta forma pode ser pensado como um Browser Object Model (BOM). As primeiras versões do JavaScript também forneceu um tipo primitivo de Document Object Model.
O que é um Document Object Model? Em suma, um Document Object Model (DOM) é uma maneira de conceituar o conteúdo de um documento. No mundo real, todos nós compartilhar algo eu vou chamar um Mundo Object Model. Podemos referir a objetos em nosso meio, usando termos como "carro", "House" e "árvore" e estar certo de que nossas condições de serem entendidas. Isso porque temos mutuamente acordados objetos que as palavras referem-se especificamente. Se eu digo "O carro está na garagem," é seguro supor que você não terá que significa "O pássaro está no armário." Nosso Mundo Object Model não se restringe aos objetos tangíveis, embora também se aplica de conceitos. Por exemplo, posso referir a "casa da terceira à esquerda", ao dar-lhe os sentidos. Para que a descrição a fazer sentido, os conceitos de "terceiro" e "esquerda" deve ser entendido. Se me derem essa descrição de alguém que não pode contar, ou que não pode dizer à esquerda da direita, então a descrição é essencialmente sem sentido, ou não as palavras foram entendidas. Na realidade, porque as pessoas concordam com um modelo conceitual mundo , descrições muito breve pode estar cheia de significado. Eu posso ser quase a certeza que outros compartilham meus conceitos de "esquerda" e "terceiro". É a mesma situação com as páginas web. As primeiras versões do JavaScript oferecidos aos desenvolvedores a capacidade de consultar e manipular alguns dos conteúdos reais de documentos web muitas imagens e formas. Como os termos "imagens" e "formas" tinha sido pré-definidos, o JavaScript pode ser usado para resolver "a imagem de terceiros no documento" ou "formar o chamado 'detalhes'", como mostrado:
document.images [2] document.forms [ 'detalhes'] Este tipo, primeira tentativa de Document Object Model é muitas vezes referida como DOM Nível 0. Nestas cedo, dia sem preocupações, o uso mais comum do DOM Nível 0 foi para sobreposições de imagens e alguma forma de validação client-side. Mas quando a quarta geração de navegadores da Netscape e da Microsoft apareceu, o DOM realmente atingiu o ventilador. A guerra dos navegadores Netscape Navigator 4 (NN4) foi lançado em junho de 1997, e em outubro desse ano, o Internet Explorer 4 (IE4) também havia sido liberado. Ambos os navegadores prometeu muitas melhorias em versões anteriores, juntamente com muitas adições ao que poderia ser feito com JavaScript, utilizando-se uma grande expansão DOM. Web designers foram incentivados a test-drive a última palavra da moda: DHTML. A palavra D: DHTML DHTML era curto para o HTML dinâmico. Não é uma tecnologia em si, DHTML era um eufemismo para descrever o casamento de HTML, CSS e JavaScript. O pensamento por trás DHTML foi assim: Você pode usar HTML para marcar sua página da Web em elementos. Você pode usar CSS para o estilo ea posição desses elementos. Você pode usar JavaScript para manipular e alterar esses estilos na mosca. DHTML refere à combinação destas três técnicas. Usando DHTML, efeitos de animação complexa, de repente se tornou possível. Digamos que você usou HTML para marcar um elemento de página como esta:
Este é o meu elemento Você pode então usar o CSS para aplicar estilos de posicionamento como este:
# meuElemento (position: absolute; left: 50px; top: 100px;) Em seguida, usando JavaScript, você pode alterar os estilos de esquerda e superior de meuElemento para movê-lo na página. Bem, essa foi a teoria de qualquer maneira. Infelizmente para os desenvolvedores, ambos os navegadores utilizados diferentes, DOM incompatíveis. Embora os fabricantes de navegadores estavam promovendo o mesmo efeito, cada um deles abordou a questão DOM de maneiras completamente diferentes. Duelo de navegadores O DOM Netscape feito uso de elementos proprietários chamados de camadas. Essas camadas foram dadas identificações únicas e, em seguida, abordados através de JavaScript como este:
document.layers [ 'meuElemento'] Enquanto isso, o DOM a Microsoft iria abordar o mesmo elemento como este:
document.all [ 'meuElemento'] As diferenças não terminam aí. Digamos que você queria saber a posição esquerda do meuElemento e atribuí-lo ao xpos variável. No Netscape Navigator 4 você faria assim:
var Xpos = document.layers [ 'meuElemento']. esquerdo; Veja como você faria a mesma coisa no Internet Explorer 4:
var Xpos = document.all [ 'meuElemento']. LeftPos; Isto foi claramente uma situação ridícula. Os desenvolvedores tiveram de garfo seu código para realizar qualquer tipo de script DOM. Com efeito, muitos scripts foram escritos por duas vezes, uma para NN4 e uma vez para IE4. Convoluted browser sniffing muitas vezes era obrigado a servir o script correto. DHTML prometeu um mundo de possibilidades. Mas quem realmente tentou usá-lo descoberto um mundo de dor em seu lugar. Não demorou muito DHTML tornou-se um zumbido (sujo) da palavra. A tecnologia rapidamente ganhou uma reputação de ser tanto mais sensacionalistas e extremamente difícil de implementar. Aumentar o nível Enquanto os fabricantes de navegadores estavam ocupados que exerce a sua batalha pela supremacia, e utilizando DOM concorrentes como armas na guerra, o W3C foi discretamente reunindo um padronizado Document Object Model. Felizmente, os fabricantes de navegadores foram capazes de anular a sua animosidade mútua. Netscape, Microsoft e outros fabricantes de navegadores trabalharam em conjunto com a W3C sobre o novo padrão DOM Nível 1 e foi concluída em Outubro de 1998. Voltando ao nosso exemplo, vamos dar uma olhada em como o DOM novo padrão iria atacar na mesma situação. Lembre-se, temos um meuElemento com o ID e estamos a tentar apurar o valor que foi aplicado a sua posição de esquerda, para que possamos armazenar esse valor como o xpos variável. Aqui está a sintaxe que usaria:
var Xpos = document.getElementById ( 'meuElemento'). style.left À primeira vista, que talvez não parecem ser uma melhoria em relação à não-padrão, DOM proprietários. No entanto, o DOM padronizado é muito mais ambiciosa no seu âmbito. Enquanto os fabricantes do navegador simplesmente queria alguma forma de manipular as páginas web com JavaScript, o W3C propôs um modelo que poderia ser usado por qualquer linguagem de programação para manipular qualquer documento escrito em qualquer linguagem de marcação. Pensando fora do navegador O DOM é o que é conhecido como uma Application Programming Interface (API). APIs são essencialmente convenções que foram aprovadas por mútuo consentimento. Real-equivalentes mundo seria coisas como:
Todas estas coisas são normas, e tornar mais fácil para as pessoas de se comunicar e cooperar. Em situações em que uma única convenção não tiver sido acordado, o resultado é muitas vezes desastrosas. Lembre-se, a concorrência entre as medidas métricas e resultou em pelo menos uma missão a Marte falharam. No mundo da programação, há muitas línguas diferentes, mas há muitas tarefas semelhantes. É por isso que APIs são tão úteis. Depois de saber o padrão, você pode aplicá-lo em muitos ambientes diferentes. A sintaxe pode mudar, dependendo do idioma que você está usando, mas a convenção permanece a mesma. Portanto, apesar de concentrar-se especificamente sobre a utilização do DOM com JavaScript no presente artigo, os novos conhecimentos sobre o DOM também será muito útil se você realmente precisa para analisar um documento XML usando uma linguagem de programação como PHP ou Python. O W3C define o DOM como "uma plataforma de interface e linguagem neutra que permite que programas e scripts para acessar e atualizar dinamicamente o conteúdo, estrutura e estilo de documentos." A independência do DOM padronizados, juntamente com o seu âmbito de aplicação poderosa, coloca a cabeça e os ombros acima do DOM exclusivos criados pelos fabricantes de browser insignificância. O fim da guerra dos navegadoresA Microsoft venceu a batalha pela supremacia no mercado de navegadores partes. Ironicamente, o choque de DOM concorrentes e de marcação proprietária teve pouco efeito sobre o resultado final. Internet Explorer estava destinado a conquistar simplesmente em virtude do fato de que ele veio pré-instalado em todos os PCs rodando o sistema operacional Windows. As pessoas que foram mais atingidos pelas guerras foram navegador web designers. Desenvolvimento cross-browser tinha-se tornado um pesadelo. Bem como as discrepâncias nas implementações de JavaScript que mencionei anteriormente, os dois navegadores também tinham níveis muito diferentes de apoio à CSS. Criando folhas de estilo e scripts que trabalhou em ambos os navegadores se tornou uma espécie de magia negra. A reação começou contra a postura de propriedade dos fabricantes de browser. Um grupo foi formado chamando a si mesmo WEB SORMAS Projecto, ou o WaSP de curto prazo (http://webstandards.org/). A primeira tarefa que o WaSP comprometeu-se a encorajar os fabricantes de browsers para adotar as recomendações do W3C, as recomendações mesmo que os fabricantes do navegador tinha ajudado a elaborar. Se foi devido à pressão do WaSP ou o resultado de decisões internas da empresa, não era muito maior suporte para padrões web na próxima geração de navegadores web. Um novo começo Internet Explorer 5 vem com suporte embutido para DOM WC3 padronizados, enquanto também manter o apoio para os antigos, de propriedade da Microsoft DOM. Netscape decidiu fazer uma ruptura clara e lançou um navegador que tinha quase nada em comum com NN4. Netscape Navigator 6 mesmo faltar um número de versão, e é usado um motor de renderização completamente diferente, com muito, muito maior suporte de CSS. Ele também apoiou o DOM padronizados, mas sem qualquer compatibilidade com versões anteriores para o velho Netscape DOM. Releases posteriores do Netscape e Microsoft melhorou em encarnações anteriores, com maior apoio para os padrões da web. Infelizmente, o desenvolvimento do Internet Explorer estagnou na versão 6. É uma pena, já que alguns problemas ainda continuam com a implementação do navegador de CSS. Suporte para DOM Nível 1, porém, é rocha sólida. Entretanto, os outros navegadores têm aparecido em cena. Quando a Apple lançou seu navegador Safari, em 2003, não havia dúvida de que iria seguir os padrões DOM. Firefox, Mozilla e Camino, todos baseados no mecanismo de renderização de fonte aberta que o Netscape 6 e 7, temos um excelente suporte para o DOM. Opera e Konquerer também oferecem suporte DOM grande. Mais de 95% dos navegadores em uso atualmente tem suporte embutido para o DOM. As guerras do navegador do final dos anos noventa parecem estar bem e realmente atrás de nós. Embora nenhum único browser tem implementado o DOM W3C perfeitamente, todos os navegadores modernos cobrem cerca de 95% das especificações. Isto significa que há uma quantidade enorme de que podemos realizar sem ter que se preocupar com ramificação de código. A estagnação do desenvolvimento do Internet Explorer, não obstante, a vida melhorou muito para web designers. Em vez de escrever scripts com código bifurcada servido com browser sniffing complicado, estamos agora em posição de escrever alguma coisa uma vez e publicá-lo em toda parte. Enquanto nós seguimos as normas DOM, podemos ter certeza de que nossos scripts trabalharão quase universalmente. What's next? Uma coisa que você deve definitivamente tirar a minha lição breve história JavaScript é que os navegadores diferentes usados para realizar as mesmas tarefas de maneiras diferentes. Este fato inescapável não dominava a escrita de scripts em JavaScript, também ditada como artigos sobre JavaScript foram escritos. JavaScript todos os artigos que visam demonstrar como a aprender a língua por exemplo, muitas vezes teve que mostrar os mesmos scripts escritos em maneiras diferentes para diferentes navegadores. Assim como o código encontrado na maioria dos sites, os exemplos mais artigos JavaScript estavam cheios de browser sniffing e código de ramificação. Da mesma forma, os artigos de referência técnica em JavaScript não poderia simplesmente contêm listas de funções e métodos. Eles também tinham o documento que funções e métodos que foram apoiados por navegadores. A situação mudou agora. Graças à padronização do DOM, diferentes navegadores fazer as mesmas coisas na mesma maneira. Isto significa que quando eu estou mostrando a você como fazer algo usando JavaScript and the Document Object Model, não são desviados por incoerências navegador. Vou tentar evitar que citam os navegadores específicos do presente artigo. I'm also não vai usar o termo DHTML mais. O termo sempre funcionou melhor como um chavão de marketing do que como uma descrição técnica. Por um lado, parece confusa, como um outro sabor de HTML ou XHTML. Além disso, o termo vem com um monte de bagagem. Se você mencionar DHTML para quem tentasse usá-lo no final dos anos noventa, você terá um tempo difícil convencê-los de que é uma tecnologia padronizada simples agora. DHTML era para se referir à combinação de (X) HTML, CSS e JavaScript, mas na realidade, o que liga estas coisas juntas é o DOM. Se precisarmos de algum termo para descrever este processo, vamos usar algo mais preciso. Embora o termo DHTML pode ser usado para se referir ao navegador codificação específica, que não parece direito de tentar aplicar o mesmo termo que baseadas em padrões de codificação. DOM Scripting é uma maneira mais exata para descrever a manipulação de documentos e folhas de estilo usando o W3C Document Object Model. DHTML Considerando que apenas se referia a documentos web, DOM Scripting pode ser usado em conjunto com qualquer marked-up documento usando qualquer linguagem que suporte a API do DOM . No caso de documentos da web, a omnipresença do JavaScript torna a melhor escolha para DOM Scripting. um artigo submetido por Jacques Goudreau Isenção de responsabilidade:O nosso site não se responsabiliza pelo conteúdo deste artigo. Webarticles é uma fonte de informação livre. Importante: Este artigo "As origens do Javascript, DOM" foi traduzida por um software automático. Nós sentimos muito por quaisquer erros de ortografia que pode ter ocorrido. Obrigado pela sua compreensão.
|
|||||
| Online: 364 users browsing the articles directory |
|
|