Pergunta

Eu tenho um arquivo JS que coloca um iframe em todos os sites está.
Tanto o JS quanto o local do iframe vem do mesmo domínio, o meu.

De alguma forma, posso me comunicar de dentro do iframe ao script externo,
O que não está funcionando no meu domínio, mas é chamado dele?

Eu sei sobre o JSONP, mas estou procurando uma maneira melhor, se possível

Foi útil?

Solução

É muito simples. A localização do documento precisa ser servida a partir do mesmo domínio que a localização do script. Caso contrário, o script receberá um erro de "acesso negado".

Outras dicas

Se você estiver fornecendo um script para outras pessoas usarem, poderá fazer com que elas carreguem easyxdm o que permitiria que seu script se comunique com o documento carregado no iFrame (se ele também tiver a biblioteca EasyXDM configurada). Você também precisaria que eles hospedem um arquivo HTML simples em seu domínio, caso o EasyXDM não possa usar o PostMessage e precisar recorrer ao uso da solução de hash/fragmento.

Demos disso podem ser vistos aqui

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top