Tunneling e servidores proxy para Ajax e além

Segunda-feira, 10 de dezembro de 2007

Devido à sua capacidade de se comunicar com o servidor, o objeto XMLHttpRequest (XHR), utilizada na tecnologia Ajax (abreviação de Asynchronous JavaScript e XML, cuja pronúncia seria "egiacs" mesmo que prefere italianos "aiacs"), tem um bloco de protecção que o impeça de executar aplicações fora do domínio em que opera. Esta protecção é necessária para prevenir o Javascript Injection (técnicas de "injecção" extremamente perigoso código, a fim de violar o sistema), de variados tipos, com o objectivo final de "break" no sistema.
Este limite é agora levada a sério e está pensando em alguma maneira de resolver isto - diretamente no XMLHttpRequest - sem colocar em perigo a segurança (veja também: Terceira proposta de cross-site extensões para XMLHttpRequest).

No entanto, a situação hoje é a seguinte:

XHR

Continue a ler ... "

Post relacionado

Quando o Javascript vitórias

Sábado, 17 de março de 2007

Decida o que a tecnologia para uso no desenvolvimento de um aplicativo da Web é de vital importância, para não encontrar-se com problemas pouco depois. O tipo de aplicativo da Web, as suas características de funcionamento, são o primeiro ponto a considerar, a fim de escolher o enquadramento e tecnologias relacionadas.
Tenho muitas vezes discutida a eficácia do script Javascript contra diferentes tecnologias como o Adobe Flash ou Java. Mas é bom ressaltar que um importante aspecto frequentemente esquecido: o acesso à DOM. Javascript, neste caso, o candidato (se não a apenas) favorita para este tipo de operação.

Ferramentas com Acionamento, por exemplo, operar sobre um mecanismo simples: quando a página HTML é carregada (e depois de digitando o carregamento do script Javascript) executa um scan da página HTML e acrescentou um novo código pontos. No caso do Snap sejam identificados todos os links para páginas externas (ou na configuração interna da questão), o TAG <A> para indenderci. Estes são modificados para que quando você mover o mouse abre uma janela de anterpima link (ver este blogue, por exemplo).

Não só Snap, mas muitos outros scripts Javascript são exatamente a mesma coisa. Recentemente, esta técnica tem sido amplamente divulgado através da biblioteca Prototype, que fornece uma ampla gama de métodos (como o famoso duplo-o $ $ $ E.U. dólares - ver Protótipo: A utilização do duplo cifrão ($ $)) e para acompanhar essa mudança - a mosca - os elementos de uma página HTML.

Que se deslocam dentro do HTML DOM é específica para o Javascript. Historicamente, inter alia, o Javascript foi criado apenas para ler e gravar o conteúdo de uma página HTML.
Por exemplo, se quisermos fazer algumas alterações em uma página HTML utilizando o Adobe Flash, nós aggorgeremmo - ou mais cedo ou mais tarde - para ser forçado a invocar uma função JavaScript. O novo ActionScript 3.0, por exemplo, oferece uma classe (ExternalInterface) apropriados para este fim. Uma vez (em versões anteriores do ActionScript) é o comando utilizado getURL() agora substituída por uma melhor flash.net.navigateToURL() ou fscommad() uma função JavaScript:

Actionscript:
  1. "javascript:miaFunzione()" ) ; getUrl ( "javascript: myFunction ());

Também:

A classe é o ExternalInterface Externas API, uma interface de programação de aplicativo que permite a comunicação direta entre o ActionScript e Flash Player contentor, por exemplo, uma página HTML com JavaScript, ou uma aplicação desktop com o Flash Player incorporado.

Note que a "aplicação desktop" que tanto lembra Apollo!

Hoje, graças a ExternalInterface, você pode invocar uma função JavaScript, pelo menos, de uma maneira mais limpa (esta classe permite gerenciamento significativamente mais eficaz do que getURL() tais como a passagem de parâmetros):

Actionscript:
  1. / * Convida a função externa "addNumbers"
  2. passando dois parâmetros, e atribuindo essa função do resultado
  3. para a variável "resultado" * /
  4. ; var param1: UINT = 3;
  5. ; var param2: UINT = 7;
  6. ( "addNumbers" , param1, param2 ) ; var resultado: UINT = ExternalInterface. convite ( "addNumbers", param1, param2);

JavaScript:
  1. <script> <--
  2. / / Adiciona dois números, e envia o resultado de volta para ActionScript
  3. num1, num2 ) { addNumbers função (num1, num2) (
  4. num1 + num2 ) ; retorno (num1 + num2);
  5. )
  6. / / --></ Script>

O que é que podemos concluir então? De todas as bibliotecas disponíveis diversos quadros e análise inicial do projeto que pretende atingir é de importância primordial. Errar esta fase pode afectar seriamente as fases subsequentes de qualquer projecto Web2.0. Javascript e, em seguida, vitórias em todos quando você tem que interagir com o DOM.

Post relacionado