Bilder in ext. Fenster anzeigen erst nach onload()
Tom1tk
- javascript
Hallo,
hab mal wieder ein Problem:
Ich habe eine Galerie, die die Bilder via JavaScript in nem neuen Fenster darstellt.
Problem dabei ist, dass die "Vorschauseite" nicht fertig geladen wird, wenn ein User "zu früh" auf ein Bildchen klickt.
Ich hab grad versucht ein workaround zu basteln (Sinngemäß: onload="seitegeladen("yes"), dann im openNewWindow() Abfrage auf seitegeaden==yes), aber ich schätze das geht auch leichter: Ich dachte an eine Abfrage auf "onload". Gibts das? Wenn ja, wie?
Thanx, Tom1tk
Hi,
Problem dabei ist, dass die "Vorschauseite" nicht fertig geladen wird, wenn ein User "zu früh" auf ein Bildchen klickt.
dann hast Du vermutlich bei Deinen Links etwas falsch gemacht.
Ich dachte an eine Abfrage auf "onload". Gibts das? Wenn ja, wie?
Du kannst onload eine Variable setzen, aber das ist nicht nötig. Finde und beseitige Deinen Fehler.
Cheatah
Hi,
dann hast Du vermutlich bei Deinen Links etwas falsch gemacht.
Wie? was falsch gemacht??
Die Links rufen das Script auf:
<a href="javascript:OpenNewWindow('bild.jpg',100,300)">bild</a>
und die Funktion openNewWindow() öffnet dann ein neues Fenster mit den Eigenschaften: (Picture,xsize,ysize)
NewWindow=window.open("","Picture","height="+ysize+",width="+xsize+",scrollbars=no,resizable=no,top="+ypos+",left="+xpos+"");
Wie kann man da bei den Links was falsch machen?
Ich dachte, dass das JavaScript den Foucs von den Vorschaubildern "wegnimmt" und dass die deshalb nicht mehr geladen werden, oder?
Greets Tom1tk
hi,
dann hast Du vermutlich bei Deinen Links etwas falsch gemacht.
Wie? was falsch gemacht??
Die Links rufen das Script auf:
<a href="javascript:OpenNewWindow('bild.jpg',100,300)">bild</a>
Wie kann man da bei den Links was falsch machen?
in dem man javascript-funktionen über href="javascript:..." aufruft.
wurde hier im forum doch schon x-mal gesagt, dass man das tunlichst unterlassen sollte.
probiere es folgendermaßen:
<a href="bild.jpg" onClick="OpenNewWindow(this.href,100,300);return false;" target="_blank">bild</a>
hat folgende vorteile:
gruss,
wahsaga
Hallo wahsaga,
hab das grad mal getestet. Ich Depp! Wollte grad schreiben, dass das nicht geht. Hatte auch mein JS abgeschaltet....
Danke, Das klappt wunderbar. Auch wenn JS deaktiviert.
Guter Hinweis mit dem <a href="bild.jpg"...
Greets Tom1tk
Hallo!
Ich habe das gleiche Problem wie der Fragende: Gallerie mit Thumbnails, wenn auf eines geklickt wird öffnet sich ein Fenster mit dem Grossbild, sobald dieses Fenster offen ist, hört die Seite im opener auf, die noch nicht geladenen Thumbnails zu laden.
Gruss,
Daniel
PS: Das ganze mit IE...
Hallo
hab mal wieder ein Problem:
Ich habe eine Galerie, die die Bilder via JavaScript in nem neuen Fenster darstellt.
Problem dabei ist, dass die "Vorschauseite" nicht fertig geladen wird, wenn ein User "zu früh" auf ein Bildchen klickt.
Das Problem hatte ich auch schon und mit folgenden Workaround gelöst:
1. Im HEAD des html dokuments folgendes script einbauen:
<script language="JavaScript" TYPE="text/javascript">
function ladefehler(o) {
osrc = o.src
o.src = osrc
}
</script>
2. Alle thumbnail-image-tags wie folgt verändern:
alt: <img src="bild_klein1.jpg">
neu: <img src="bild_klein1.jpg" onAbort="javascript:ladefehler(this)">
funktionsweise:
im ie wird durch ein "vorzeitiges" klicken auf einen thumbnail das laden der restlichen thumbnails tatsächlich abgebrochen.
mit onAbort="javascript:ladefehler(this)"
wir bei einem ladeabbruch die funktion "ladefehler" für das bild selbst aufgerufen.
die funktion "ladefehler" liest die SRC des "verhinderten" bildes aus und weist sie diesem erneut zu.
dadurch wird das bild erneut geladen und angezeigt.
grüsse karl :-)´
Tatsache. Habs getstet und es geht.
Danke an Karl!!
Aber gibt es keine Möglichkeit ein Javascript erst beim "onload" ausführen zu lassen, sozusagen, dass da vorher deaktiviert ist.
Greets Tom1tk
Hallo
Aber gibt es keine Möglichkeit ein Javascript erst beim "onload" ausführen zu lassen, sozusagen, dass da vorher deaktiviert ist.
Ungetestet wäre mein Ansatz folgender:
Im Head folgendes notieren:
<script language="JavaScript" TYPE="text/javascript">
allesgeladen = 0
function openNewWindow(.....)
if (allesgeladen == 1) {
NewWindow=window.open......;
} else {
// alert("Bitte noch etwas Geduld")
}
</script>
den body-tag um
... onLoad="allesgeladen=1" ....
erweitern.
karl :-)´
Guten Abend,
genau das war mein Workaround, hat aber nicht funktioniert. Warum, weiß ich auch nicht.
Greets
Hi,
genau das war mein Workaround, hat aber nicht funktioniert. Warum, weiß ich auch nicht.
weil der Fehler nach wie vor nicht korrigiert ist, also der Aufruf.
Cheatah
Hallo Tom1tk
Aber gibt es keine Möglichkeit ein Javascript erst beim "onload" ausführen zu lassen, sozusagen, dass da vorher deaktiviert ist.
Mir als seitenbesucher ist es lieber, wenn Links sofort funktionieren und nicht erst, wenn die Seite vollstaändig geladen ist. Vielleict gefällt mir schon eines der ersten Vorschaubilder, dann kann ich dieses schon aufrufen und dann in Ruhe betrachten, wärend sich die Verschauseite noch komplettiert.
Wenn du die Links sperrst, bis die Seite vollständig ist, könnte es dir passieren, dass ich auf ein Vorschaubild klicke, nichts passiert, ich probiere noch eines, wieder nichts, denke die Seite funktioniert nicht, und bin verschwunden.
Oder eine Meldung, ich solle warten erscheint, nein warten will ich nicht, das nervt micht, auch dann bin ich weg.
MFG
Detlef