krisvdc
07-01-2007, 12:21 PM
Hi all,
I am working on some simple json fetching javascript. Seems now it is leaking memory faster than I can buy it ;)
Does anybody see why ?
Thanks a lot,
Kris
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script>
var sequenceNr = 0;
var requestObject = null;
function Request(url){
header = document.getElementsByTagName("head").item(0);
enclosure = document.createElement("script");
enclosure.type = "text/javascript";
enclosure.charset = "utf-8";
enclosure.src = url + "&id=" + sequenceNr++;
enclosure.id = "streamer" + sequenceNr;
};
Request.prototype.removeEnclosure = function () {
header.removeChild(enclosure);
enclosure = null;
header = null;
};
Request.prototype.addEnclosure = function () {
header.appendChild(enclosure);
};
function load() {
connect();
}
function connect() {
requestObject = new Request('http://192.168.1.3:6969/refresh.html');
//this returns for example : callback({"Total":339});reconnect();
requestObject.addEnclosure();
}
function reconnect() {
requestObject.removeEnclosure();
requestObject = null;
connect();
}
function setCount(data) {
document.getElementById('Total').innerHTML = data.Total;
}
function callback(data) {
setCount(data);
}
</script>
</head>
<BODY onLoad="load()">
<span id="counter">
<span class="title">Counter: </span><span id="Total">0</span><br/>
</span>
</BODY>
</HTML>
I am working on some simple json fetching javascript. Seems now it is leaking memory faster than I can buy it ;)
Does anybody see why ?
Thanks a lot,
Kris
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script>
var sequenceNr = 0;
var requestObject = null;
function Request(url){
header = document.getElementsByTagName("head").item(0);
enclosure = document.createElement("script");
enclosure.type = "text/javascript";
enclosure.charset = "utf-8";
enclosure.src = url + "&id=" + sequenceNr++;
enclosure.id = "streamer" + sequenceNr;
};
Request.prototype.removeEnclosure = function () {
header.removeChild(enclosure);
enclosure = null;
header = null;
};
Request.prototype.addEnclosure = function () {
header.appendChild(enclosure);
};
function load() {
connect();
}
function connect() {
requestObject = new Request('http://192.168.1.3:6969/refresh.html');
//this returns for example : callback({"Total":339});reconnect();
requestObject.addEnclosure();
}
function reconnect() {
requestObject.removeEnclosure();
requestObject = null;
connect();
}
function setCount(data) {
document.getElementById('Total').innerHTML = data.Total;
}
function callback(data) {
setCount(data);
}
</script>
</head>
<BODY onLoad="load()">
<span id="counter">
<span class="title">Counter: </span><span id="Total">0</span><br/>
</span>
</BODY>
</HTML>