Ich habe ein Bild in einer HTML-Seite:
<img src="smiley.gif" alt="Smiley face" width="32" height="32" />
Wenn das Bild nicht auf dem Server gefunden wird, wird ein hässliches leeres Quadrat angezeigt.
Ich möchte es so gestalten, dass, wenn ein Bild nicht gefunden wird, nichts oder ein anderes Standardbild angezeigt wird, von dem ich weiß, dass es sich definitiv auf dem Server befindet.
Wie kann das gemacht werden?
Antworten:
Der beste Weg, um Ihr Problem zu lösen:
onerror
ist eine gute Sache für dich :)Ändern Sie einfach den Namen der Bilddatei und versuchen Sie es selbst.
quelle
if (this.src != 'Default.jpg')
this.onerror=null;
wie unten von @Sudarshan angegeben.Nun, du kannst es versuchen.
das hat bei mir funktioniert. Lass es mich über dich wissen.
quelle
Ok, aber ich verwende diese Methode gerne, damit Sie, wenn das Originalbild nicht verfügbar ist, Ihr Standardbild laden können, das möglicherweise Ihr Lieblings-Smiley oder Bild ist und "Sorry!" Sagt. Nicht verfügbar, aber falls beide Bilder fehlen, können Sie Text zur Anzeige verwenden. wo kannst du dann auch smiley. Schauen Sie sich fast jeden Fall an.
quelle
<?=base_url()?>
das Warum fügen Sie überraschenderweise serverseitigen und Framework-basierten Code hinzu?Hier Überprüfen Sie unten das Code-Snippet, in dem ich den Bildnamen falsch geschrieben habe. Nur aus diesem Grund wird das alternative Bild als nicht gefundenes Bild (404.svg) angezeigt.
quelle
Die übliche Methode, um mit diesem Szenario umzugehen, besteht darin, das
alt
Tag auf einen sinnvollen Wert zu setzen.Wenn Sie stattdessen ein Standardbild möchten, empfehle ich die Verwendung einer serverseitigen Technologie zum Bereitstellen Ihrer Bilder, die in einem ähnlichen Format wie das folgende aufgerufen wird:
ImageHandler.aspx
Fangen Sie im Code alle nicht gefundenen Dateifehler ab und stellen Siedefault.jpg
stattdessen Ihre bereit.quelle
Sie können einen alternativen Text anzeigen, indem Sie Folgendes hinzufügen
alt
:quelle
Ich habe ein übergeordnetes Div um das Bild hinzugefügt und den folgenden onerror-Ereignishandler verwendet, um das Originalbild auszublenden, da im IE nach Verwendung des alt-Attributs immer noch ein hässliches Bild angezeigt wurde, das nicht gefunden wurde:
quelle
Für die Alternative, wenn das Bild nicht existiert - zeigen Sie überhaupt nichts. (was ich gesucht habe)
Sie können die Funktion von Robby Shaws Antwort im Attribut "onerror" gegen "this.remove ()" austauschen.
quelle
Versuchen Sie es
border=0
in derimg
Tag, damit das hässliche Quadrat verschwindet.<img src="someimage.png" border="0" alt="some alternate text" />
quelle
Ich wollte den Platz, den das
<img>
Tag einnimmt, verstecken, damit das für mich funktioniert<img src = "source.jpg" alt = "" >
quelle
Wenn Sie ein alternatives Bild anstelle eines Textes möchten, können Sie auch PHP verwenden:
quelle
Einfacher Weg, um dies zu handhaben, fügen Sie einfach ein Hintergrundbild hinzu.
quelle
versuchen Sie es mit PHP
quelle
Es funktioniert für mich, wenn Sie das Alt-Attribut nicht verwenden möchten, wenn das Bild unterbrochen wird, können Sie diesen Code verwenden und entsprechend festlegen.
quelle
Dieser hat für mich gearbeitet. mit dem srcset. Ich habe gerade davon erfahren, daher weiß ich nicht, ob Browser es unterstützen, aber es hat bei mir funktioniert. Probieren Sie es aus und geben Sie mir später Ihr Feedback.
quelle
Lösung - Ich habe die Höhen- und Breitenelemente des Bilds entfernt und dann hat der Alternativtext funktioniert.
ZU
Danke euch allen.
quelle