Jeffrey Cross
Jeffrey Cross

Javascript do lado do servidor / DOM - AJAX amigável de pesquisa?

John Resig postou ontem sobre seus experimentos com a criação de um ambiente pseudo-navegador Javascript / DOM completo que é executado a partir da linha de comando:

Este fim de semana eu dei um grande passo para aumentar a aposta do JavaScript como um idioma. Em algum momento na última sexta-feira à noite eu comecei a programar e não parei até meados da segunda-feira. O resultado é um ambiente de navegador / DOM suficientemente bom, escrito em JavaScript, que é executado em cima do Rhino; capaz de executar jQuery, Prototype e MochiKit (no mínimo).

O toque realmente agradável é que você pode emitir solicitações PUT e DELETE no objeto XMLHttpRequest para manipular arquivos no sistema de arquivos local! Veja um script de exemplo que raspa os títulos dos posts do alistapart.com e os armazena em um arquivo (lembre-se, isso é executado no servidor como um script de shell):

load ("env.js"); window.location = "http://alistapart.com/"; window.onload = function () {load ("dist / jquery.js"); var str = "Mais recentes Uma lista separada de postagens: n"; $ ("h4.title"). each (function () {str + = "-" + this.textContent + "n";}); var out = new XMLHttpRequest (); out.open ("PUT", "file: /tmp/alist.txt"); out.send (str); };

AJAX amigável para pesquisa Quando você carrega um shell HTML com conteúdo vazio e o preenche no lado do navegador com conteúdo de uma fonte XML, você acaba com uma página que é essencialmente invisível para os mecanismos de pesquisa. Uma solução alternativa para isso, a não ser que todas as solicitações de página carreguem HTML completo, é pré-renderizar o conteúdo para a página no lado do servidor. Qualquer atualização ou manipulação de conteúdo ainda pode ser feita no lado do cliente via AJAX.

O problema com esse método é que você tem uma base de código que renderiza suas páginas no lado do servidor e, em seguida, outra base de código Javascript que essencialmente executa a mesma função no lado do cliente. É o dobro do trabalho. Duas vezes o bug consertando também.

Imagine estender essa prova de conceito JavaScript do lado do servidor em uma arquitetura geral para sites dinâmicos, estilo AJAX. Não há motivos para que você não possa usar uma biblioteca Javascript para pré-processar páginas conforme elas são veiculadas e, em seguida, usar exatamente o mesmo código para atualizar o conteúdo da página no lado do cliente.

Leve este conceito de modo duplo de Javascript ainda mais e você pode dar a todas as suas tags âncoras dinâmicas um href = "url.html", bem como um onclick = "loadFoo ('url.xml')". Navegadores compatíveis com JavaScript podem se beneficiar dos recursos de interface do usuário do AJAX, enquanto os mecanismos de pesquisa ainda podem navegar adequadamente em seus documentos.

Teste automatizado O outro recurso interessante que o hack de John fornece é um mecanismo para testar e depurar facilmente seu código Javascript. Você pode codificar seus testes de unidade em Javascript ao escrever seus aplicativos da Web e executá-los facilmente em relação ao seu software, assim como um processo de desenvolvimento tradicional teria um procedimento de "teste de fabricação" (ou equivalente).

Outras Idéias Algumas outras aplicações vêm imediatamente à mente, sendo a mais óbvia a busca. Um ambiente robusto de Javascript / DOM adicionado ao processo de rastreamento pode tornar muito mais difícil o conteúdo anteriormente inacessível de ser digerido por um bot de pesquisa.

Tem alguma idéia ou uso imediato para o AJAX do lado do servidor? Nos dê um grito nos comentários!

Trazendo o navegador para o servidor - Link

Ação

Deixar Um Comentário