Tenho uma imagem em uma página HTML:
<img src="smiley.gif" alt="Smiley face" width="32" height="32" />
Se a imagem não for encontrada no servidor, ela mostra um quadrado em branco feio.
Quero fazer com que, se uma imagem não for encontrada, ela não exiba nada ou alguma outra imagem padrão que sei que está definitivamente no servidor.
Como isso pode ser feito?
Respostas:
A melhor maneira de resolver seu problema:
onerror
é uma coisa boa para você :)Basta alterar o nome do arquivo de imagem e tentar você mesmo.
fonte
if (this.src != 'Default.jpg')
this.onerror=null;
conforme fornecido abaixo por @Sudarshan.Bem, você pode tentar isso.
isso funcionou para mim. deixe-me saber sobre você.
fonte
Ok, mas eu gosto de usar desta forma, para que sempre que a imagem original não estiver disponível, você possa carregar sua imagem padrão que pode ser seu smiley favorito ou imagem dizendo Desculpe! Não disponível, mas caso ambas as imagens estejam faltando, você pode usar texto para exibir. onde você também pode sorrir então. dê uma olhada em quase todos os casos.
fonte
<?=base_url()?>
fazer? Por que você, surpreendentemente, adiciona algum código do lado do servidor e baseado na estrutura?Aqui, verifique abaixo o trecho de código que, neste, digitei incorretamente o nome da imagem. Então, só por isso está mostrando a imagem alternativa como imagem não encontrada (404.svg).
fonte
A maneira usual de lidar com esse cenário é definir a
alt
tag para algo significativo.Se você quiser uma imagem padrão em vez disso, sugiro usar uma tecnologia do lado do servidor para servir suas imagens, chamada usando um formato semelhante a:
No
ImageHandler.aspx
código, identifique quaisquer erros de arquivo não encontrado e forneça o seudefault.jpg
.fonte
Você pode mostrar um texto alternativo adicionando
alt
:fonte
Eu adicionei um div pai ao redor da imagem e usei o seguinte manipulador de eventos onerror para ocultar a imagem original porque no IE ainda havia uma imagem feia de imagem não encontrada mostrada após usar o atributo alt:
fonte
Em alternativa, se a imagem não existir - não mostre absolutamente nada. (o que eu estava procurando)
Você pode trocar a função da resposta de Robby Shaw no atributo "onerror" para "this.remove ()".
fonte
Tente usar
border=0
naimg
tag para fazer o quadrado feio desaparecer.<img src="someimage.png" border="0" alt="some alternate text" />
fonte
Eu queria esconder o espaço ocupado pela
<img>
etiqueta, então funcionou para mim<img src = "source.jpg" alt = "" >
fonte
Se você quiser uma imagem alternativa em vez de um texto, você também pode usar php:
fonte
maneira simples de lidar com isso, basta adicionar uma imagem de fundo.
fonte
tente PHP
fonte
funciona para mim que, se você não quiser usar o atributo alt se a imagem quebrar, então você pode usar este pedaço de código e definir de acordo.
fonte
Este funcionou para mim. usando o srcset. Eu acabei de aprender sobre isso, então não sei se os navegadores suportam, mas tem funcionado para mim. Experimente e depois me dê seu feedback.
fonte
Solução - Removi os elementos de altura e largura do img e o texto alternativo funcionou.
PARA
Obrigado a todos.
fonte