Ajax Crossbrowser no IE8 e FF3

Uma confusão muito comum até em desenvolvedores profissionais é não saber que o objeto XHR segue o mesmo princípio de segurança do javascript e por isso não pode executar uma chamada remota a outro endereço que não o mesmo de onde o arquivo é chamado. Isso é chamado de “Same Domain Policy“.

A alternativa para contornar esse problema é usar a estratégia de Scripttag quando o recurso externo permite ou usar um script como proxy no servidor para buscar o recurso e devolver via Ajax. Existem outras formas mais porcas de fazer isso que nem merecem consideração.

O Firefox 3 vem com o recurso de XHR Crossbrowser, agora seguido do IE8. Sinceramente isso não muda nada a curto prazo, até termos as versões anteriores do FF e principalmente do IE aposentadas, teremos que contornar isso com as gambiarras de sempre.

O John Resig (Criador do JQuery) mostra nesse post como usar isso no FF3. Lembrando que isso só funciona no FF3 que ainda é beta.

Typically chemist’s shop can sale to you with discreet treatments for various health problems. There are numerous of safe online pharmacies that will deliver medications to your address. There are divers medicines for each afflictions. Learn more about “viagra manufacturer coupon“. Maybe “viagra discount coupons” is a very much complicated question. Matters, like “coupons for viagra“, are united numerous types of heartiness problems. If you need to take prescription medications, ask your druggist to check your testosterone levels before. Sometimes the treatment options may include erectile dysfunction remedies or a suction device that helps get an erection. Keep in mind web-site which is ready to sell erectile malfunction drugs like Viagra without a prescription is fraudulent. When you purchase from an unknown web-site, you run the risk of getting counterfeit remedies.

8 thoughts on “Ajax Crossbrowser no IE8 e FF3

  1. Pingback: Christiano via Rec6

  2. Rafael Ponte

    @Milfont
    “A alternativa para contornar esse problema é usar a estratégia de Scripttag quando o recurso externo permite ou usar um script como proxy no servidor para buscar o recurso e devolver via Ajax. Existem outras formas mais porcas de fazer isso que nem merecem consideração.”

    Não entendi bem o que você disse 🙂 Mas você está falando de acessar o servidor “local” para que ele acessa um recurso externo e retorne ao browser, é isso? Algo semelhante aque funcionalidade já pronta do DWR?

    Ótimo post, valeu!

  3. cmilfont Post author

    @Rafael Ponte

    “Não entendi bem o que você disse 🙂 Mas você está falando de acessar o servidor “local” para que ele acessa um recurso externo e retorne ao browser, é isso? Algo semelhante aque funcionalidade já pronta do DWR?”

    Você acessa o servidor de origem do código javascript para ele acessar um recurso remoto em outro servidor e servir como proxy já que o javascript não permite esse acesso.

  4. cmilfont Post author

    @Handerson Frota

    “Essas formas porcas seriam o que ? Não entendi também o que você quis dizer.”

    Usar IFrame, usar técnica proprietária do Browser e tantos outros artifícios.

  5. Rafael Ponte

    Valeu, Milfont, foi o que eu imaginei mesmo 🙂

    Ei, eiiiii, eiiiiiii.. iframe não é tão porco assim, rss.. iframes para upload funcionam que é uma beleza, o próprio Gmail se utiliza disso.

    Mas é um caso especifico, pois o Gmail não tem intenção de se prender ao navegador ou mesmo prejudicar a usabilidade somente para não usar iframe.

  6. Edu

    O iE7 e iE6 não tem problemas de restrição nesse sentido quando executados com o Js local, vcs já perceberam isso?

    Eu estou fazendo uma aplicação para Windows em Js que se beneficia disso. Se vc pegar um script que rode ajax da sua máquina e requisita qualquer página externa ele funciona que é uma beleza….O curioso é que se vc manda o script para algum servidor ele pára de funcionar, por causa da segurança.

    O FF não roda caso não estiver no proprio dominio, mesmo localmente (localhost).

    Abraços

  7. Pingback: HTML não serve para REST - CMilfont Tech

Comments are closed.