code2i: dreh mich im kreis...bild cachen, timeout

Beitrag lesen

Holla

Hmmm warum genau nach einer Sekunde??? Verstehe den Sinn nicht ganz.
eine sekunde draum, weil javascript zu schnell ist für coldfusion, welches mir den link für das bild übergibt

Geht mir überhaubt nicht in die Rübe was du da mit coldfusion machst. Ist doch für den Serverseitigen krahmms und was hat das alles mit JavaScript im Browser zu tun. Naja....

Wann ??? welche Werte ??? Hoehe und Breite ???

genau, die beiden werte brauche ich um eine textarea anzupassen, bekomme ich aber nicht auf einfachem wege, weil sonst das javascript ausgeführt wird bevor coldfusion die session-variable übergeben hat und ich somit nur 0 als wert bekomme.

Was ??? Wie ??? Session-Variable !!! Was hat jetzt JavaScript damit zu tun ??? Arbeitest du mit Serverseitigem JavaScript ??? (Kann ja sein das es bei Coldfuzzie sowas gibt)

ich will erreichen, das das bild schon vorhanden ist wenn ich die breite und hoehe des bildes auslesen will und

also habe ich mir gedacht, das ich das bild vorlade (auf einer eigenen seite) bevor ich auf die eigentliche seite springe auf der die werte ausgegeben werden sollen, oder aber die bilder auf der eigentlichen seite vorlade, eine zeitlang warte und dann erst den rest der seite angezeigt bekomme, inkl. der werte für breite und höhe.

Also willst du erreichen das die Werte für Hoehe und Breite des Bildes schon von Anfang an vorhanden sind , damit du damit arbeiten kannst. Und nicht erst nach dem kompletten laden!

mein ansatz war folgendes:

<cfoutput>
<script language="javascript">
bilda = new Image();
bilda.src = "../_upload/images/#session.bild1#";
bildb = new Image();
bildb.src = "../_upload/images/#session.bild2#";

document.write("<img src='" + bilda.src + "' name='bild1'>");
document.write(document.bild1.width);
</script>
</cfoutput>

das scheiterte aber daran das coldfusion langsamer als JS ist und somit die variabel nicht übergeben war als das script die werte auslesen wollte.

Häääää !!!
Also dein <cfoutput> schreibt den krahm in die HTML Datei welche ausgegeben werden soll. Dabei müssen zwei werte übergeben werden #session.bild1# und #session.bild2#. Bei einem Aufruf dieser Site durch einen Browser muss CF diese Werte übergeben und an den Browser senden. Keine Ahnung wie das mit CF ist aber dein JavaScript... wird doch nicht etwa von CF interpretiert. Ich denke mal es wird an den Browser gesendet oder ? (das wäre jetzt mal wichtig zu erfahren)

der 2te versuch war folgender:

<cfoutput>
<script language="javascript">
function.warten()
{
bilda = new Image();
bilda.src = "../_upload/images/#session.bild1#";
bildb = new Image();
bildb.src = "../_upload/images/#session.bild2#";

document.write("<img src='" + bilda.src + "' name='bild1'>");
};

settimeout("warten();",1000);

document.write(document.bild1.width);
</script>
</cfoutput>

dann habe ich versucht die bilder via eines body onload vorzuladen,

Nööö geht nich!

und nun würd ichs gerne auf die oben geschilderte methode ausprobieren, damit dem script auf der ausführenden seite (der auf der die werte ausgelesen werden sollen) schon die bilder bekannt sind.

Ich gehe jetzt mal davon aus das alles mit dem JavaScript auf Browserseite funzen soll.

Dann würde ich mit Frames arbeiten.
Einen unsichtbaren(invi) Frame und einem sichtbaren(vi). Im invi werden die Bilder vorgeladen und ich ermittel die Höhe und Breite der Bilder wenn sie komplett geladen wurden. .... onload Event.

Wurde die ganze Preload-prozedur abgeschlossen zeige ich im vi Frame eine neue Seite an, in der deine Scripte und Textarea und co vorhanden sind. Dort greife ich via Script auf die Parameter im invi Frame zu(Hoehe und Breite).

Tarrraaaa

Hmm sollte CF dein JavaScript Serverseitig interpretieren sieht das alles anders aus.

hoffe ich hab nicht allzuviel unverständliches zeug geschrieben :)

Leider doch!

cu