Hi,
folgender codeausschnitt:
...hab ich soweit eingebunden und funktioniert auch wunderbar. Problem ist jedoch, das nach einer längeren Zeit, die Seite immer langsamer wird und irgendwann sich aufhängt. In Firebug kann ich sehen, das die "Anfragen sich stapeln" sag ich mal. Wie kann ich die Performance dafür verbessern?
Hier handelt es sich um eine HeaderDatei, die in allen anderen Seiten einfach includet wird. Ich hatte gehofft mit der delete Geschichte, wieder etwas "speicher frei zu geben", aber das funktioniert nicht wirklich. In der aufgerufenen PHP Datei wird mittels PDO 2 SQL Statements ausgeführt und die Werte zurück gegeben.
Danke.
mfg streuner
folgender codeausschnitt:
PHP-Code:
<script type="text/javascript">
var request = false;
function setRequest(str) {
if (window.XMLHttpRequest) {
request = new XMLHttpRequest(); // Mozilla, Safari, Opera
} else if (window.ActiveXObject) {
try {
request = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
} catch (e) {
try {
request = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
} catch (e) {}
}
}
if (!request) {
alert("Kann keine XMLHTTP-Instanz erzeugen");
return false;
} else {
var url = "lib/message_check.php?q="+str;
request.open('get', url, true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
request.send(null);
request.onreadystatechange = interpretRequest;
}
}
function interpretRequest() {
switch (request.readyState) {
case 4:
if (request.status != 200) {
alert("Der Request wurde abgeschlossen, ist aber nicht OK (AJAX Fehler)\nFehler:"+request.status)+"!\n\nBitte den Admin informieren!";
} else {
var content = request.responseText;
if (content != "")
{
var FensterEins = null;
if (FensterEins && !FensterEins.closed)
{
FensterEins.focus();
}
else
{
FensterEins = window.open("lib/popup_read.php?id="+request.responseText,"Nachricht", "width=1000,height=500");
}
delete request;
request = null;
}
content = "";
}
break;
default:
break;
}
}
window.onload = "setRequest(<?php echo $qq; ?>)";
interval = window.setTimeout("setRequest(<?php echo $qq; ?>);", 20000);
</script>
</head>
<body onload="setRequest(<?php echo $qq; ?>)">
Hier handelt es sich um eine HeaderDatei, die in allen anderen Seiten einfach includet wird. Ich hatte gehofft mit der delete Geschichte, wieder etwas "speicher frei zu geben", aber das funktioniert nicht wirklich. In der aufgerufenen PHP Datei wird mittels PDO 2 SQL Statements ausgeführt und die Werte zurück gegeben.
Danke.
mfg streuner