verzerrte Grafiken im IE nach Namensänderung
juewi
- javascript
Ich glaub ich werd nie fertig mit meiner Seite ...
Kurze Einführung:
Ein Script läuft durch eine Liste (im HTML-Code) und liest dort die Quellen für die dazugehörigen Fotos aus. Bei Hover über die Thumbnails werden die Fotos angezeigt. Perfekt.
Aber:
Ich hatte in der Testphase 45 Fotos (001-045) in der Liste - davon hab ich nun 5 entfernt und die Fotos neu sortiert und neu von 001-040 benannt.
Jetzt werden manche Fotos - natürlich nur im IE *grmpf* - verzerrt dargestellt!!! So, als ob das Seitenverhältnis des "alten" Fotos 013 nun auch für das aktuelle Foto 013 gilt! (Scrollt bitte mal im IE durch die Thumbnail-Liste - ihr werdet etliche verzerrte Fotos sehen)
Da ich vorhatte, die Namens-Liste im HTML-Code zu belassen und jeweils nur neue Fotos upzuloaden kann ich so meine Seiten nicht verwenden.
Wo verdammt nochmal hat den IE hier schon wieder einen Fehler im System und behält Seitenverhältnisse im Gedächtnis
und
was gehört hier repariert??
Danke, euer verzweifelter Jürgen
Hallo juewi!
Jetzt werden manche Fotos - natürlich nur im IE *grmpf* - verzerrt dargestellt!!! So, als ob das Seitenverhältnis des "alten" Fotos 013 nun auch für das aktuelle Foto 013 gilt! (Scrollt bitte mal im IE durch die Thumbnail-Liste - ihr werdet etliche verzerrte Fotos sehen)
Ich tippe IE 6?
Cache löschen hilft vielleicht... aber das Problem trifft sporadisch auch in meinen Roadster-Galerien auf.
was gehört hier repariert??
Der IE natürlich ;)
Viele Grüße aus Frankfurt/Main,
Patrick
Grundlage für Zitat #1388.
Ich tippe IE 6?
IE 6 wär allein auch mehr als ärgerlich. Aber nein, auch im IE 7.
Cache löschen hilft vielleicht
Zum 1. will ich nicht bei jedem Seitenaufruf den Cache löschen lassen und 2. scheint mir so, "loopt" das Javascript bei jedem Seitenaufruf sowieso durch die Liste und liest die Quellen neu aus (merk ich auch bei der Ladezeit wenn ich die Seite neu lade)
»» was gehört hier repariert??
Der IE natürlich ;)
Dein Wort in Gottes Ohr ;-)
Dieses Problem tritt bei den vor Dir präferierten Variante (klick) nicht auf. Da kenn sich einer aus ...
Das Handtuch-Werfen für mein Projekt in dieser Form ist in greifbarer Nähe.
Hallöchen,
»» Cache löschen hilft vielleicht
Zum 1. will ich nicht bei jedem Seitenaufruf den Cache löschen lassen und 2. scheint mir so, "loopt" das Javascript bei jedem Seitenaufruf sowieso durch die Liste und liest die Quellen neu aus (merk ich auch bei der Ladezeit wenn ich die Seite neu lade)
Ich tippe auch schwer auf _Deinen_ Browser-Cache. Habe Deine Seite mehrfach neu geladen und ich konnte weder im IE 6, noch im FF 3.07, noch im Safari 3.12, noch im Opera 9.62 irgendwelche anomalien feststellen.
MfG
cross
Hallo cross!
Ich tippe auch schwer auf _Deinen_ Browser-Cache. Habe Deine Seite mehrfach neu geladen und ich konnte weder im IE 6, noch im FF 3.07, noch im Safari 3.12, noch im Opera 9.62 irgendwelche anomalien feststellen.
Wie erwähnt kann ich bei meinen Roadster-Galerien das Problem von Jürgen immer wieder feststellen. Das, nennen wir ihn mal, »Anzeige-DIV« wird ohne Breite und Höhe definiert. Doch anscheinend merkt sich, wie breit/hoch das erste aufgerufene Bild war, und stellt alle anderen in dieser Größe dar, was zu den von Jürgen erwähten Verzerrungen führt. Allerdings konnte ich das bisher nur im 6er feststellen - nicht im IE 7.
Viele Grüße aus Frankfurt/Main,
Patrick
Wie erwähnt kann ich bei meinen Roadster-Galerien das Problem von Jürgen immer wieder feststellen. Das, nennen wir ihn mal, »Anzeige-DIV« wird ohne Breite und Höhe definiert. Doch anscheinend merkt sich, wie breit/hoch das erste aufgerufene Bild war, und stellt alle anderen in dieser Größe dar, was zu den von Jürgen erwähten Verzerrungen führt. Allerdings konnte ich das bisher nur im 6er feststellen - nicht im IE 7.
Allerdings hab ich hier ebenso ein "Anzeige-Div", auch eine Bildanzeige mit JS und den Fotos mit derselben Quelle und hier tritt das Phänomen im IE nicht auf ...
Ich tippe auch schwer auf _Deinen_ Browser-Cache. Habe Deine Seite mehrfach neu geladen und ich konnte weder im IE 6, noch im FF 3.07, noch im Safari 3.12, noch im Opera 9.62 irgendwelche anomalien feststellen.
Aha - vielen Dank fürs Testen!
Es werden auch nach und nach die verzerrten Fotos weniger. Jedenfalls sehen noch immer einige so aus:
Wie lange hält der Cache die denn im Speicher? Denn die Änderung hab ich schon gestern vorgenommen. Soll ich das Neuladen der Seite per Code erzwingen? Wenn ja, wie? Und: Ist IE nicht völlig bluna?
Naja:
auch Cache löschen bringt NICHTS ...
So ein Sch
So hab nun mal herumgespielt:
Änderung der Quelle von /fotos/... auf zb /pics/... mit denselben Dateinamen: alles Fotos ok. aber keine Lösung.
neuerliche Durchmischung von Fotos und Dateinamen: dasselbe in Grün - das Seitenverhältnis des "alten" Dateinamen wird beim "neuen" verwendet
und wieder zurück zum Status, bei dem das Problem erstmals aufgetaucht ist (Quelle: /fotos/... und der bisherigen Foto-Reihenfolge): nach wie vor verzerrte Fotos
So - sofern niemand einen rettenden Tipp hat - werde ich meine zu 99% fertiggestellte neue Seite wohl vergessen können. Danke IE, ich verfluche dich.
Nur als letztes - falls es jemand nicht glauben will:
beides Foto-Darstellungen in IE mit verschiedenen JS-Varianten:
Wieso bei diesem simplen JS (klick), bei dem auf Klick einfach eine Grafik mit einer anderen über "name" getauscht wird das Problem nicht auftaucht und bei der anderen viel komplexeren (und wünschenswerteren) Variante DOCH ist mir schleierhaft.
Einerseits liegt es NICHT am Cache (gelöscht) und andererseits werden nach und nach ohne erkennbare Reihenfolge immer weniger Fotos, die das Problem (noch) haben.
Wenn Du so ein verzerrtes Bild hast, dann drück doch mal spaßeshalber STRG+F5. Ist danach das Bild korrekt?
Wenn Du so ein verzerrtes Bild hast, dann drück doch mal spaßeshalber STRG+F5. Ist danach das Bild korrekt?
Nein. Unverändert. Aber mittlerweile weisen nur noch 2 Fotos die Verzerrung auf.
---> Ich werde jetzt nochmal die Reihenfolge umändern. Kannst Du bitte mal in IE testen ob bei Dir die Verzerrungen dann auch auftreten? Brauch 2 Minuten.
Danke
Habe aber nur den IE 6. Wenn Dir das weiterhilft, kann ich das gerne testen.
Habe aber nur den IE 6. Wenn Dir das weiterhilft, kann ich das gerne testen.
Sicher - nachdem IE6 noch weit verbreitet ist muss es auch mit dem funktionieren.
Ist geändert, die Thumbs passen jetzt natürlich nicht mehr.
Wie siehts aus???
Kann ich bestätigen: Fast alle Bilder sind verzerrt!
Kann ich bestätigen: Fast alle Bilder sind verzerrt!
Hab ich befürchtet - trotzdem danke fürs Testen!
Falls es dich interessiert: hier werden dieselben Dateien angezeigt, auch per Javascript, auch ohne Größenangabe und ... sind nicht verzerrt ...
Projekt gestorben. Gute nacht ;-(
Projekt gestorben. Gute nacht ;-(
Gute N8.
Hello,
Kann ich bestätigen: Fast alle Bilder sind verzerrt!
du hast da aber irgend ein sehr merkwürdiges Problem. Die Bilder in der Gallerie links passen nicht zu denen, die in der Detailanzeige angezeigt werden. Irgendwo legst du dir selbst ein Ei ins Nest...
Das gilt für FF3 genauso wie für den IE und ich vermute genau das ist auch das Problem...
MfG
Rouven
Hello,
»» >> Kann ich bestätigen: Fast alle Bilder sind verzerrt!
du hast da aber irgend ein sehr merkwürdiges Problem. Die Bilder in der Gallerie links passen nicht zu denen, die in der Detailanzeige angezeigt werden. Irgendwo legst du dir selbst ein Ei ins Nest...
Das gilt für FF3 genauso wie für den IE und ich vermute genau das ist auch das Problem...MfG
Rouven
Hi,
ne, dass das jetzzt so ist, war angekündigt und bekannt. Zu Demozwecken hat er die Bilder nochmal umsortiert, deshalb ist alles durcheinander.
Gruß
cross
Hallo nochmal,
So - sofern niemand einen rettenden Tipp hat - werde ich meine zu 99% fertiggestellte neue Seite wohl vergessen können. Danke IE, ich verfluche dich.
wenn das Ganze in PHP wäre, würde ich width und height des jeweiligen Bildes ermitteln und diese Angaben mit ausgeben. In dem Fall ist allemal sichergestellt, dass das Bild nicht verzerrt wird.
In Javascript kenne ich mich nicht so gut aus. Aber vielleicht geht da was -> Breite und Höhe von Bildern auslesen
Gruß
cross
Hi there,
was gehört hier repariert??
ich hab das hover-script nur kurz überflogen, was aber offensichtlich ist, wie es funktioniert; der IE tauscht einfach nur das Bild aus, ohne sich um die Dimension desselben zu kümmern, wenn er es ersetzt. Wenn ich mir als erstes Bild jenes anschaue, das in der K&Ö-Tiefgarage entstanden ist, dann seh ich mit dem IE alle Bilder in diesem Format. Du müsstest also beim Einlesen der Bilder nicht nur die Source, sondern auch noch Width und Height des grossen Bild speichern. Das wird aber mit Javascript nicht möglich sein. Hast Du PHP auf Deinem Server?
Hallöchen,
<cut> Das wird aber mit Javascript nicht möglich sein.
Diese Aussage ist falsch. Stichwort: offsetWidth und offsetHeight
Gruß
cross
Hi there,
»» <cut> Das wird aber mit Javascript nicht möglich sein.
Diese Aussage ist falsch. Stichwort: offsetWidth und offsetHeight
Ja, aber nur wenn er die vorher Bilder lädt;) - das tut er aber nicht, würde auch etwas komisch aussehen. Ich meinte, was Javascript nicht kann, ist im Filessystem am Server herumsuchen und die Bildgröße im vorhinein feststellen...
ich hab das hover-script nur kurz überflogen, was aber offensichtlich ist, wie es funktioniert; der IE tauscht einfach nur das Bild aus, ohne sich um die Dimension desselben zu kümmern, wenn er es ersetzt. Wenn ich mir als erstes Bild jenes anschaue, das in der K&Ö-Tiefgarage entstanden ist, dann seh ich mit dem IE alle Bilder in diesem Format. Du müsstest also beim Einlesen der Bilder nicht nur die Source, sondern auch noch Width und Height des grossen Bild speichern. Das wird aber mit Javascript nicht möglich sein.
Doch das ist möglich, ganz einfach mit width und height. Meine Vermutung ist eher das das austauschen des TD-Knoten Probleme bereitet und ist in diesem Fall auch überhaupt nicht nötig. Ich halte das komplette Skript für problematisch und umständlich.
Struppi.
Meine Vermutung ist eher das das austauschen des TD-Knoten Probleme bereitet und ist in diesem Fall auch überhaupt nicht nötig. Ich halte das komplette Skript für problematisch und umständlich.
Struppi.
Was auch immer Probleme bereitet - haben tut diese nur der IE.
Die Galerie-Funktion selbst halte ich für sehr genial - ob das Script selbst umständlich ist kann ich mangels Kenntnis nicht beurteilen. Es scheint mir aber doch recht kompakt und verbindet eine komfortable Hover-Funktion mit einer Ausweichlösung für deaktivierten JS.
Die Galerie-Funktion selbst halte ich für sehr genial - ob das Script selbst umständlich ist kann ich mangels Kenntnis nicht beurteilen. Es scheint mir aber doch recht kompakt und verbindet eine komfortable Hover-Funktion mit einer Ausweichlösung für deaktivierten JS.
Sie scheint aber bei dir zu funktionieren, deshalb habe ich sie umgeschrieben mit exakt der gleichen Funktionalität.
Struppi.
was gehört hier repariert??
Meiner Meinung nach, das Skript.
1. keine Tabelle zum anzeigen verwenden
2. keine cloneNode
OK, hier ein Vorschlag. Der HTML Code zum anzeigen des grossen Bild:
<div id="gallery-view-wrapper">M E N S C H E N</div>
und probier das Skript mal:
function Gallery(id_in, id_out) {
this.imgobj = {};
this.out = document.getElementById(id_out);
var list = document.getElementById(id_in).getElementsByTagName("img");
var obj = this;
var name_of_pic = '__BIG_PIC__';
for (var i = 0; i < list.length; i++) {
var view_src = list[i].parentNode.href;
if(view_src) {
list[i][name_of_pic] = new Image();
list[i][name_of_pic].src = view_src;
list[i].onmouseover = function() {obj.show(this);};
}
}
// methode des gallery-objektes zur Bildanzeige
this.show = function(img) {
var show_img = this.out.getElementsByTagName('img')[0];
if(!show_img) {
show_img = document.createElement('img');
this.out.innerHTML = '';
this.out.appendChild(show_img);
}
show_img.src = img[name_of_pic].src;
};
}
// objekt wird erzeugt
// parameter: id der Liste, id des tds zur Bildanzeige
function init() {
new gallery("gallery-thumb-list", "gallery-view-wrapper");
}
Struppi.
[latex]Mae govannen![/latex]
was gehört hier repariert??
Meiner Meinung nach, das Skript.
[...]
Da ich mich gerade auch mit dem Thema beschäftigte, habe ich dein Script mal hier getestet (IE6, mit beliebigen Bildern, die ich gerade gefunden habe [also völlig unterschiedliche Abmessungen])
Ergebnis: Funktioniert hier fast, bis auf eine Kleinigkeit (siehe unten). Ich konnte jedenfalls keine Verzerrungen erkennen.
function Gallery(id_in, id_out) {
[...]
new gallery("gallery-thumb-list", "gallery-view-wrapper");
new Gallery(
Cü,
Kai
»» was gehört hier repariert??
Meiner Meinung nach, das Skript.
- keine Tabelle zum anzeigen verwenden
Tabelle statt div da dies der unkomplizierteste Weg zur vertikalen Zentrierung ist. Trotz langer Suche hab ich keinerlei brauchbare Lösung für eine vertikale Zentrierung eines divs im div finden können -> ohne diese Zentrierung geht eine Foto-Galerie gar nicht.
Trotz langer Suche hab ich keinerlei brauchbare Lösung für eine vertikale Zentrierung eines divs im div finden können
Ich will jetzt nicht die sieben Threads herauskramen, in denen deine vielen Teilprobleme besprochen wurden - jedenfalls waren wir in einem schon diesen schon bei einer Lösung, die sehr wohl allgemein brauchbar ist (ich hatte dir noch ihre Anwendung erklärt). Welches Problem hattest du damit?
Mathias