JavaScript e IE7 - Por que meu * .onload = function () {} fogo?
-
08-07-2019 - |
Pergunta
Eu tenho uma galeria Eu rapidamente codificado-se de um pequeno local, e no Firefox 3 e Safari 3 funciona bem. Mas quando eu testar no meu antigo melhor amigo IE7, parece não acionar o imageVar.onload = function () {// código aqui} .. que eu quero usar para parar o efeito da carga e carregar a imagem.
Por favor, tenha em mente ...
- Eu sei que as miniaturas são apenas versão reduzida das imagens maiores. Quando as imagens são finalizados pelo cliente Vou criar miniaturas adequadas.
- Esta é a minha primeira tentativa para tentar sair de JavaScript processual para a maior parte .. por isso, vá fácil e por favor deixe-me saber onde meu código é uma porcaria!
Solução
Para uso bem sucedido de Image.onload, você deve registrar o método manipulador de eventos antes do atributo src é definido.
Informações relacionadas nesta pergunta:
Outras dicas
Suporte evento navegador Cruz não é devido tão simples de diferenças de implementação. Desde que você está usando jQuery em seu site, você é melhor fora de usar seus eventos métodos para suporte ao navegador normalize:
em vez de:
window.load = function(){
//actions to be performed on window load
}
imageViewer.image.onload = function(){
//actions to be performed on image load
}
Do:
$(window).load(function(){
//actions to be performed on window load
});
$(imageViewer.image).load(function(){
//actions to be performed on image load
});
Só para acrescentar à sugestão por Eran usar o jQuery construído em manipuladores de eventos que você pode executar código quando o documento é carregado e o DOM é criado, mas antes que as imagens são baixadas com:
$(document).ready(function(){
//your code
});