hi
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)
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).
also: coldfusion und javascript haben im prinzip nichts miteinander zu tun, da coldfusion halt auf dem server und js erst im browser ausgeführt werden.
der <cfoutput>-tag muss vorhanden sein, damit platzhalter, die bei CF in # stehen, ersetzt werden können.
in meinem falle dient es also nur dazu #session.bild1# durch den namen des bildes zur ersetzen, z.B. af340.jpg.
das javscript wird sonst von cf nicht tangiert und hat somit beim aufruf statt der zeile
bilda.src = "../_upload/images/#session.bild1#";
eben
bilda.src = "../_upload/images/af340.jpg";
da stehen.
da bild wird auch korrekt angezeigt, klappt aus irgendeinem unerfindlichen grund das auslesen der breite nicht unmittelbar nach dem einsetzen des bildes. folgende zeilen geben mir eben das richtige bild und eine breite von 0 aus
document.write("<img src='" + bilda.src + "' name='bild1'>");
document.write(document.bild1.width);
rein optisch sieht der source-code den der user bekommt gleich aus, nämlich immer die zeile
bilda.src = "../_upload/images/af340.jpg";
alles was coldfusion ist, ist für den user eben unsichtbar, wie es sich für eine serverseitige sprache gehört ;).
der einzige unterschied ist eben, das mit coldfusion die breite 0 und ohne die breite korrekt angezeigt wird.
warte ich zwischen schreiben des bildes und auslesen der breite ca. 10ms dann hat auch das script mit coldfusion den richtigen werte für die breite, allerdings funktioniert das nciht nach meiner methode, da ich nach dem timout nutnoch den wert auf einer sonst leeren seite stehen habe.
frames scheiden leider aus :(
thx fürs bemühen.
alles liebe
ole
(8-)>
ps: auch die leute bei http://www.cfml.de bringe ich mit dem problem wohl zur verzweiflung *g*