Ik ben begonnen aan een basic html editor in JavaScript, en nu loop ik tegen een hele nare bug aan. De gebruiker kan naar een plaatje linken, waarna dit wordt gescand zodat automagisch de width en height properties worden ingevuld. In firefox werkt het prima, maar in IE werkt het maar één keer. Dat wil zeggen, ik kan één plaatje inserten maar een tweede plaatje wordt niet geladen. Na wat debug werk weet ik zeker dat het probleem ligt in het niet plaatsvinden van een onload event voor het plaatje.
edit: het werkt soms ook de eerste keer al niet. Ik snap er echt niets meer van.
Testpagina, druk op Link Image rechtsbovenaan.
Relevant stukje script:
De oplettende lezer ziet dat ik inspiratie op heb gedaan uit het Check Images script van GoT
edit: het werkt soms ook de eerste keer al niet. Ik snap er echt niets meer van.
Testpagina, druk op Link Image rechtsbovenaan.
Relevant stukje script:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| var http = prompt("Image location (URL):"); if (http){ var desc = prompt("Description:"); if (!desc || desc=="undefined") desc = "Image"; var preloadimg = new Image(); preloadimg.src = http; preloadimg.desc = desc; preloadimg.onload = imgLoaded; preloadimg.onerror = imgError; preloadimg.onabort = imgError; } (...) function imgLoaded() { if (this.width && this.height) { lefttag = ""; righttag = "<img src=\""+this.src+"\" alt=\""+this.desc+"\" width=\""+this.width+"\" height=\""+this.height+"\" />"; writetags(lefttag,righttag); } else { lefttag = ""; righttag = "<img src=\""+this.http+"\" alt=\""+this.desc+"\" />"; writetags(lefttag,righttag); } } function imgError() { alert("No image was found on the specified location!"); writetags("",""); } |
De oplettende lezer ziet dat ik inspiratie op heb gedaan uit het Check Images script van GoT
[ Voor 3% gewijzigd door Bozozo op 16-11-2007 17:55 ]