Pergunta

Talvez alguns de vocês pudessem ter encontrado o mesmo problema que eu. Imagine que você tem um arquivo em sua máquina: Arquivo: /// c: test.html

E você tem um iframe dentro deste arquivo. Você precisa indicar se o conteúdo do iframe é carregado ou não.

Bacicamente, o que temos aqui: 1. Localização, Href ou qualquer outra propriedade é inacessível do arquivo: /// para http: ///, ou para trás. 2. Você não pode disparar o evento da janela do navegador no iframe, ou em direção oposta, infelizmente.

Esse problema tem uma solução? PS: Isso não é um hack. É um problema real. Fazendo alguma interação da máquina local com a integração do site.

UPD: Eu meio que descubro por que é proibido. Qualquer interação com arquivos locais deve ser proibida da página da web. É meio legal, eu concordo. Mas uma # hashtag não é algo que não pode prejudicar ninguém? :(

Foi útil?

Solução

Você pode achar algumas dessas técnicas úteis: http://softwareas.com/cross-domain-communication-with-iframes

Editar: Por comentários abaixo, essas técnicas não parecem funcionar ao acessar file:///c:\<path>\test.html, enquanto que fazem ao acessar http://localhost/test.html.

Eu acho que é porque o file O protocolo é ainda mais restrito pelo navegador do que o http protocolo. o Página msdn no protocolo de arquivo estados:

O Internet Explorer 6 Service Pack 1 (SP1) não permite mais navegar em uma máquina local da zona da Internet. Por exemplo, se um site da Internet contiver um link para um arquivo local, o Internet Explorer 6 SP1 exibe uma página em branco quando um usuário clica no link. As versões anteriores do Windows Internet Explorer seguiram o link para o arquivo local.

Qualquer que seja a técnica que você estava usando para obter alguma comunicação entre domínios, provavelmente foi bloqueada pelo navegador porque você estava usando o file protocolo.

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