|
|
Há um número de casos em que você não pôde ter a sustentação de XMLHttpRequest. O mais comum estaria no exemplo de um browser mais velho. Este é o mais duro de trabalhar ao redor, não porque não há nenhum recuo de AJAX, mas porque toda a manipulação restante de DOM que você faz dentro da aplicação não trabalhará. Um outro caso do problema é quando seu browser suporta tudo que é needed à exceção de XMLHttpRequest. Este problema poderia ocorrer quando o IE é em uma modalidade onde não pudesse usar ActiveXObjects ou quando você está usando uma versão pre-7.6 da ópera.
Em alguns casos, especial aplicações do Intranet, é fácil reque apenas um melhoramento, mas se você quiser usar AJAX em um local público, você quererá pensar sobre usar alguma sorte do mecanismo do recuo. O mais melhor candidato para um recuo deve usar IFrames escondido. Uma outra opção deve usar bolinhos, mas podem emitir somente uma quantidade limitada de dados por o pedido, assim que é duro deixar cair em aproximações bolinho-baseadas como uma recolocação para o código que foi escrito com o XMLHttpRequest na mente. Somente XMLHttpRequest suporta chamadas synchronous, assim que se forem necessárias para sua aplicação, a seguir usá-la porque um recuo não será possível.
| Técnica | Vantagens | Desvantagens |
|---|---|---|
| XMLHttpRequest | Pode fazer pedidos às páginas não se ajustar
acima para AJAX Lata set/get todos os encabeçamentos do HTTP Pode fazer pedidos do HTTP usando qualquer tipo (COMECE, AFIXE, PROPFIND, e assim por diante) Controle cheio das sustentações sobre pedidos do BORNE, permitindo algum tipo de encoding dos dados |
Pedidos ActiveX ser permitido em IE 5 e 6 Está somente disponível em umas versões mais novas da ópera e do safari Tem diferenças pequenas da execução entre browsers |
| IFrame | Pode fazer o BORNE e COMEÇAR pedidos do HTTP Supportes todos os browsers modernos Suporta uploads assíncronos da lima |
Proíbe pedidos synchronous As páginas do usuário devem ser projetadas trabalhar com pedidos de IFrame Tem diferenças da execução entre browsers Pode deixar entradas extra no history do browser (depende do browser e da execução) Todos os dados do pedido URL-SÃO codificados, tamanho crescente do pedido |
| Bolinhos | Suporta o número o maior dos browsers Poucas diferenças da execução entre browsers |
Não proíbe nenhum pedido synchronous Não trabalha com requests/results grande Requer páginas do usuário ser projetado trabalhar com pedidos do bolinho Requer a votação no cliente pode fazer somente PARA COMEÇAR pedidos do HTTP |
Se você estiver usando um XMLHttpRequest inteiramente envolvido e você não usar chamadas synchronous, fornecer o recuo transparente a seu programa deve ser possível. Você necessita substituir somente jogar final de uma exceção no método do init do exemplo com o instantiation de seu cliente do HTTP de IFrame. O artigo principal a recordar sobre usar uma outra aproximação em vez de XMLHttpRequest é que não está indo o ganhar pulos enormes na compatibilidade.
Os browsers principais suportam já XMLHttpRequest. Esta sustentação faz browsers com o Javascript desligado, não aqueles que funcionam um browser unsupported, grupo o mais grande que não pode usar sua aplicação de AJAX.
Online: 539 users browsing the articles directory
|
|