Pergunta

Uma coisa que me incomoda sobre IE é que quando ele vai carregar uma página com um iframe que vai esperar até que o iframe tem carregamento acabado antes que ele irá processar a página. Firefox pelo contrário irá processar todos os outros elementos da página enquanto o iframe é de carregamento que é realmente bom se o iframe leva um longo tempo para carregar, porque ele dá ao usuário um feedback que a página está progredindo. Ele também permite que você faça coisas como display um messege "iframe carregamento", enquanto as cargas de quadros e trocá-lo onload do iframe.

Então, eu estou querendo saber se alguém já encontrou uma solução para este. Idealmente, eu gostaria de ver uma solução cross browser que mostra uma barra progess como um iframe cargas na página. Curto de que eu tomaria um método de implementação de um iframe que as forças IE primeiro processar a página, em seguida, carregar o iframe.

Eu vi um par de barras de progresso jquery interessantes como: http://plugins.jquery.com/project/jQueryProgressBar

Mas ... (e me corrija se eu estiver errado aqui porque o meu entendimento é instável) ... parece-me as barras jQuery só tornar após o DOM foi carregado. No IE o conteúdo iframe não é mostrado, até após o DOM é carregado de modo que mostra uma barra de progresso naquele momento é irrelevante.

Eu também tentei definir o src iframe para loading.htm e depois onLoad mudar o src para o conteúdo que eu quero. Infelizmente IE ainda não vai processar a página até que a página de conteúdo final vem para cima (parece estranho para mim).

Ajuda me stackoverflow, você é minha única esperança.

Foi útil?

Solução

E se você fosse para carregar a página com um XMLHttpRequest e, em seguida, substituir o conteúdo do documento como / quando ele carrega?

<!-- jQuery example: -->

<div id='content'>Loading...</div>

<script type='text/javascript'>
$("#content").load(url);
</script>

Outras dicas

Você pode definir a localização do seu iframe usando JavaScript após a janela pai foi carregado.

<body onload="document.getElementById('myIframe').location='someurl';">
    <iframe id="myIframe">
</body>

seria a forma mais rudimentar de fazê-lo.

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