Dit is zo ongeveer mijn functie:
Deze gaat dus een iframe met id "rotator" op de pagina doen loopen tussen de startpagina en een jpg in 3 talen.
Dit liep wel goed tot ik dit scherm een nachtje liet opstaan... 9uur later had ik 1.2 gig memory in use. Na wat rondkijken bleek ik bij elke switch naar een jpg te zitten met een lek ter grootte van de jpg en dit natuurlijk cumulatief
Het ziet er dus naar uit dat de oude src nog ergens in het geheugen blijft steken en ik heb geen idee hoe die er terug uit te krijgen.
Ik heb al wat geprutst met de undocumented function collectgarbage() te gebruiken voor iedere fade en dat beperkt de schade enigzins maar genereert toch nog een lek van ongeveer 100mbyte / uur. Aangezien ik verre van de javascript koning ben en ik hier niet meteen iets gelijkaardigs terugvond vroeg ik mij af of hier enige (known) workarounds zijn. Het mag zelfs zijn dat er enige vorm van lek is, zolang ik de grootte ervan maar onde controlekan houden.
edit: woops, foutje in titel, ff aanpassen door een mod?
code:
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
29
30
31
32
| function fadeIn(newpage) {
document.getElementById("rotator").style.filter="blendTrans(duration=0.5)";
//Make sure the filter is not playing.
if (document.getElementById("rotator").filters.blendTrans.status != 2)
{
document.getElementById("rotator").setAttribute('src', newpage);
document.getElementById("rotator").filters.blendTrans.apply();
document.getElementById("rotator").style.visibility="visible";
document.getElementById("rotator").filters.blendTrans.play();
}
}
function rotate()
{
nextIframe();
}
function nextIframe()
{
setTimeout("fadeIn(\"start.htm\")", 2000);
setTimeout("fadeIn(\"images/pub001fr.jpg\")", 5000);
setTimeout("fadeIn(\"start.htm\")", 10000);
setTimeout("fadeIn(\"images/pub001ge.jpg\")", 15000);
setTimeout("fadeIn(\"start.htm\")", 20000);
setTimeout("fadeIn(\"images/pub001nl.jpg\")", 25000);
setTimeout("nextIframe()", 30000);
}
window.onload = function()
{
rotate();
} |
Deze gaat dus een iframe met id "rotator" op de pagina doen loopen tussen de startpagina en een jpg in 3 talen.
Dit liep wel goed tot ik dit scherm een nachtje liet opstaan... 9uur later had ik 1.2 gig memory in use. Na wat rondkijken bleek ik bij elke switch naar een jpg te zitten met een lek ter grootte van de jpg en dit natuurlijk cumulatief
Het ziet er dus naar uit dat de oude src nog ergens in het geheugen blijft steken en ik heb geen idee hoe die er terug uit te krijgen.
Ik heb al wat geprutst met de undocumented function collectgarbage() te gebruiken voor iedere fade en dat beperkt de schade enigzins maar genereert toch nog een lek van ongeveer 100mbyte / uur. Aangezien ik verre van de javascript koning ben en ik hier niet meteen iets gelijkaardigs terugvond vroeg ik mij af of hier enige (known) workarounds zijn. Het mag zelfs zijn dat er enige vorm van lek is, zolang ik de grootte ervan maar onde controlekan houden.
edit: woops, foutje in titel, ff aanpassen door een mod?