zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Javascript & Ajax
Seite neu laden onerror - wie schreibe ich den Befehl für validen Code

Antwort
 
LinkBack Themen-Optionen Ansicht
  #11 (permalink)  
Alt 12.09.2008, 12:55
Benutzerbild von mantiz
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 25.02.2007
Beiträge: 2.843
mantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz sein
Standard

Naja, wenn Du Bilder u.U. von einem Server abrufen musst, dann würde ich ein Script schreiben, welches mir die Bilder liefert.

Vorausgesetzt "allow_url_fopen" ist aktiviert, dann würde ich so vorgehen:
  • * Script erhält eine ID oder einen Namen des Bildes als Parameter
    * Es wird geprüft, ob das Bild lokal (auf dem eigenen Server) zur Verfügung steht, ist dies der Fall, dann anzeigen und gut ist
    * steht das Bild nicht auf dem aktuellen Server zur Verfügung, dann mit z.B. "fopen" das Bild vom anderen Server abfragen, kommt dort ein Bild zurück, dann lokal speichern/cachen, falls möglich und erlaubt und Bild ausgeben
    * Sind beide Versuche das Bild anzuzeigen erfolglos, dann Standard-Bild ausgeben.

Dann wird dieses Script einfach überall als Bild-Quelle angegeben, jeweils mit dem richtigen Parameter und man muss sich sonst nirgends mit Abfragen rumquälen.

Sollen mehrere Auflösungen unterstützt werden, kann man dies über einen zweiten Parameter steuern.
Mit Zitat antworten
Sponsored Links
  #12 (permalink)  
Alt 12.09.2008, 13:26
Benutzerbild von seelefant
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 29.01.2006
Ort: im Steirischen Salzkammergut
Beiträge: 260
seelefant wird schon bald berühmt werden
Standard

Es existiert schon ein Script (aber nicht von mir - ich kann nur html - daher verstehe ich auch nicht wirklich, was da abläuft). Allerdings benutzen wir ein CMS, dessen eigene Sprache ein etwas abgewandeltes php ist (so mein Informationsstand) und daher das benutzen von php zu Problemen führt. Also können wir darauf nicht ausweichen. Leider.

Allerdings habe wir tatsächlich das Phänomen, dass bei etlichen Bildern das ohnebild.jpg angezeigt wird, die aber existieren. Wie gesagt, nur im FF3, etc. läuft es richtig. Da sind eigentlich alle Bilder da.

Irgendwo MUSS ein Fehler sein - aber welcher

Der Befehl sieht so aus:
Code:
<a href="javascript:display_image('this.form','http://my-own-shop-bilder.de/bild640/folkmanis/folkmanis2009.jpg','827170')" title="">
<img src="http://my-own-shop-bilder.de/bild200/folkmanis/folkmanis2009.jpg" alt="" onerror="this.src='http://my-own-shop-bilder.de/bild200/ohnebild.jpg'"   /> </a>
Fü mich allein schon böhmische Dörfer. Aber soviel verstehe ich, das Bild ist auf dem Server und wird dennoch durch das ohnebild.jpg ersetzt.
Dieses Bild wird korrekt angezeigt. Sieht für mich aber im Code völlig gleich aus.

Code:
<a href="javascript:display_image('this.form','http://my-own-shop-bilder.de/bild640/althans/althans00079.jpg','788962')" title="">
<img src="http://my-own-shop-bilder.de/bild200/althans/althans00079.jpg" alt="" onerror="this.src='http://my-own-shop-bilder.de/bild200/ohnebild.jpg'" /> </a>
__________________
Die Gelassenheit ist eine anmutige Form des Selbstbewußtseins.
Marie von Ebner-Eschenbach
Mit Zitat antworten
Sponsored Links
  #13 (permalink)  
Alt 12.09.2008, 13:32
Benutzerbild von mantiz
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 25.02.2007
Beiträge: 2.843
mantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz sein
Standard

Wenn ich die erste Bild-URL direkt aufrufe, erhalte ich
Code:
Die Grafik "http://my-own-shop-bilder.de/bild200/folkmanis/folkmanis2009.jpg" kann nicht angezeigt werden, weil sie Fehler enthält.
Demzufolge wird dort kein Bild ausgegeben, was wohl das "onerror" auslöst.

// Edit: Ich verwende FF 2.0.0.14 Win
Mit Zitat antworten
  #14 (permalink)  
Alt 12.09.2008, 13:41
Benutzerbild von Timo
table-layout: none;
XHTMLforum-Kenner
 
Registriert seit: 11.11.2006
Beiträge: 5.345
Timo ist ein LichtblickTimo ist ein LichtblickTimo ist ein LichtblickTimo ist ein LichtblickTimo ist ein Lichtblick
Standard

Zitat:
Zitat von mantiz Beitrag anzeigen
  • Script erhält eine ID oder einen Namen des Bildes als Parameter
  • Es wird geprüft, ob das Bild lokal (auf dem eigenen Server) zur Verfügung steht, ist dies der Fall, dann anzeigen und gut ist
  • steht das Bild nicht auf dem aktuellen Server zur Verfügung, dann mit z.B. "fopen" das Bild vom anderen Server abfragen, kommt dort ein Bild zurück, dann lokal speichern/cachen, falls möglich und erlaubt und Bild ausgeben
  • Sind beide Versuche das Bild anzuzeigen erfolglos, dann Standard-Bild ausgeben.
Ich hätte das anders gemacht, ich hätte anstatt <img src=".." usw zu schreiben einfach
PHP-Code:
echo bild_einfuegen('pfad/wo/das/bild/sein/soll/oder/soll.jpg','Alt Text','ggf Breite'); 
und das ganze prüft das alles und gibt dann den img-Tag aus.

Was für ein CMS benutzt du?
__________________
Um weitere Erklärungen eingeblendet zu bekommen, drücken Sie bitte die Tastenkombination Alt + F4
Mit Zitat antworten
  #15 (permalink)  
Alt 12.09.2008, 13:49
Benutzerbild von mantiz
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 25.02.2007
Beiträge: 2.843
mantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz sein
Standard

Zitat:
Zitat von Timo Beitrag anzeigen
Ich hätte das anders gemacht, ich hätte anstatt <img src=".." usw zu schreiben einfach
PHP-Code:
echo bild_einfuegen('pfad/wo/das/bild/sein/soll/oder/so.jpg','Alt Text','ggf Breite'); 
und das ganze prüft das alles und gibt dann den img-Tag aus.
Naja, ich bin kein Fan von "HTML in PHP", außer bei kleineren Dingen, oder wenn ich keine Lust habe "sauber" (in meinen Augen) zu arbeiten, dann mache ich das so.

Ich würde einfach:
Code:
<img src="/pfad/zum/script.php?image=12345&amp;scale=100x130" alt="" />
Nachteil meiner Variante:
Man kennt die genauen Abemessungen des resultierenden Bildes nicht oder nicht immer und kann diese somit nicht bzw. nicht immer im img-Tag notieren, dafür hat man ein Script, worüber man die Bilder beliebig skalieren und direkt ausgeben kann.

Naja, der eine so, der andere so.

Aber das hat ja eigentlich nichts mehr mit dem Thema zu tun, also back 2 Topic.
Mit Zitat antworten
  #16 (permalink)  
Alt 12.09.2008, 13:56
Benutzerbild von Timo
table-layout: none;
XHTMLforum-Kenner
 
Registriert seit: 11.11.2006
Beiträge: 5.345
Timo ist ein LichtblickTimo ist ein LichtblickTimo ist ein LichtblickTimo ist ein LichtblickTimo ist ein Lichtblick
Standard

Und ich bin kein Fan von GD Lib gemätzel. Weil das zieht schon ordentlich an der Leistung. Jetzt mal schaun was der seelefant so weiß
__________________
Um weitere Erklärungen eingeblendet zu bekommen, drücken Sie bitte die Tastenkombination Alt + F4
Mit Zitat antworten
  #17 (permalink)  
Alt 12.09.2008, 14:09
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von seelefant Beitrag anzeigen
Allerdings habe wir tatsächlich das Phänomen, dass bei etlichen Bildern das ohnebild.jpg angezeigt wird, die aber existieren. Wie gesagt, nur im FF3, etc. läuft es richtig. Da sind eigentlich alle Bilder da.

Irgendwo MUSS ein Fehler sein - aber welcher
Das läßt sich mit dem Code nicht sagen, der ist richtig und funktioniert wie gesagt seit Netscape 3 ohne Probleme.

Allerdings stimmt mit den Bildern etwas nicht, wenn das die echte Adresse ist, wie mantiz schon erwähnte.
Mit Zitat antworten
  #18 (permalink)  
Alt 12.09.2008, 14:12
Benutzerbild von Timo
table-layout: none;
XHTMLforum-Kenner
 
Registriert seit: 11.11.2006
Beiträge: 5.345
Timo ist ein LichtblickTimo ist ein LichtblickTimo ist ein LichtblickTimo ist ein LichtblickTimo ist ein Lichtblick
Standard

Zitat:
Zitat von mantiz Beitrag anzeigen
Wenn ich die erste Bild-URL direkt aufrufe, erhalte ich
Code:
Die Grafik "http://my-own-shop-bilder.de/bild200/folkmanis/folkmanis2009.jpg" kann nicht angezeigt werden, weil sie Fehler enthält.
Demzufolge wird dort kein Bild ausgegeben, was wohl das "onerror" auslöst.

// Edit: Ich verwende FF 2.0.0.14 Win
Im FF 3.0.1 Win XP kommt das Bild bei mir. Ein Frosch mit Seeblumen oder sowas.
__________________
Um weitere Erklärungen eingeblendet zu bekommen, drücken Sie bitte die Tastenkombination Alt + F4
Mit Zitat antworten
  #19 (permalink)  
Alt 12.09.2008, 14:28
Benutzerbild von seelefant
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 29.01.2006
Ort: im Steirischen Salzkammergut
Beiträge: 260
seelefant wird schon bald berühmt werden
Standard

@mantiz - hier verstehe ich nur Bahnhof

@protonenbeschleuniger - ich arbeite mit Modix. Das ist wirklich super in fast jeder Hinsicht, aber es hat seine kleinen Nachteile. Wenn wir unsere Masse an Bildern und Artikelstammdaten auch auf dem eigentlichen Server speichern könnten, dann hätten wir das Problem gar nicht erst. Aber Modix stellt keine Massenspeicher zur Verfügung.

Übrigens, die Fehlermeldung "Seite kann nicht angezeigt werden" wird auch bei den Pfaden mit angezeigten Bildern angezeigt. Das allein ist sicher nicht das Problem. Grummel.

Firefox3. Safari, Opera - sie alle zeigen auch artig die Bilder - das irritert mich ja so besonders!
__________________
Die Gelassenheit ist eine anmutige Form des Selbstbewußtseins.
Marie von Ebner-Eschenbach
Mit Zitat antworten
Sponsored Links
  #20 (permalink)  
Alt 12.09.2008, 15:10
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Die Dateien enthält irgendwelche Fehler oder Features die nicht alle Browser darstellen können oder er hält die Datei für beschädigt. Im Grafikprogramm kann ich sie mir anschauen. es liegt also nicht am Eventhandler, sondern an euren Bildern.
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Wort in Javascript Code einfügen; dann Javascript Code ausgeben Sp33dy G0nz4l3s Javascript & Ajax 1 23.05.2008 10:37
Php Code und Html Code in Variable ausführen? The Sayan Serveradministration und serverseitige Scripte 17 23.01.2007 02:00


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:02 Uhr.