// ---------------------------------------------------------------------------- // ------------------------------ ATENÇÃO ------------------------------------ // // Esta função possui um problema estranho e insolucionável. Na maioria das // vezes ela funciona perfeitamente, porém com algumas imagens alguma coisa // identificável acontece e como resultado a imagem não é carregada // corretamente. (Porque será?? Porque será?? ...tbm não sei) // O problema acontece de forma aleatória, e com todo tipo de imagem. // Estou deixando aqui documentado, pois não medi esforços para tentar entender // e solucionar o problema. Maaaaaas.... não consegui nenhuma das duas coisas. // O que consegui foi "tapar o sol com a peneira". Não tive maiores problemas // por conta disso. // Para evitar este problema, eu coloquei toda a função dentro de um loop que // irá tentar carregar a imagem no máximo 100 vezes. // Geralmente quando o problema ocorre, basta 2 ou 3 voltas no loop para que // a imagem seja carregada. Porém, como eu não quero ouvir nenhum cliente // chorão reclamando na minha orelha, achei melhor "previnir". // Pode acontecer em raros casos do loop ser executado todas as 100 vezes sem // conseguir carregar a porcaria da imagem. // Neste caso, uma mensagem de erro é exibida na tela. // Por favor, caso alguém consiga solucionar e/ou entender o porquê deste // estranho problema, favor me comunicar pelo email andre@neobiz.com.br // ---------------------------------------------------------------------------- // OBS: Exatamente pelo fato de eu não ter encontrado explicação e/ou solução // eu continuo sentindo um cheirinho FORTE de bug do internet explorer... // function showImageRow(obj) { // Flag que indica o status do carregamento da imagem var ok = false; // Contador usado para escapar do loop em caso de falha var count = 0; while(ok == false) { // Obtém largura padrão do thumbnail var defSize = 70; // Linha da tabela var rowObj = document.all['neophotoImageRow']; // Imagem oculta var imgObj = document.all['neophotoImage']; // Imagem selecionada var newSrc = document.all['image'].value; // Cria nova imagem var newImg = new Image(); newImg.src = newSrc; // Obtem largura var newWid = newImg.width; // Verifica se é necessário redimensionar if(newWid > defSize) imgObj.width = defSize; else imgObj.width = newWid; // Atribui src à imagem imgObj.src = newImg.src; // Exibe a linha oculta rowObj.style.display = 'block'; if(newWid > 0) ok = true; else ok = false; if(count > 100 && ok == false) { alert('Não foi possível visualizar a imagem!'); break; } // Contador count++; } } function neophotoNavigate(id) { var popupPage = '/neophotoDicas/popup.php'; document.location.href = popupPage+'?id='+id+'&noMove=1'; } function openSendWin(id) { window.open('/neophotoDicas/send.php?id='+id, '', 'width=330, height=300, scrollbars=yes'); }