Hallo
Problem mit dem Script unter Internet Explorer 7,8,9
Das Script ist im Head der Seite eingebunden, mit FF, Opera usw. gibt es keine Probleme, nur halt mit dem IE.
Wenn ich loadMinichat(); aus dem Script nehme und es an der Stelle direkt in die Seite
eintrage dann sagt der IE auch nichts mehr nur kann das doch nicht ok sein.
Ich nehme an das der IE die Seite anders lädt als die restlichen Browser, also das JavaScript geladen und ausgeführt wird obwohl der HTML Teil noch nicht da ist und es dann halt noch kein id="minichattext" gibt.
Eventuell kennt hier jemand eine Möglichkeit? auch mit <body onload=... gibt der IE die Fehlermeldung aus das Null oder kein Object.
Gruß
Belee
EDIT: Zurzeit läuft es so das ich loadMinichat(); direkt in die Seite mit <script ... eingebunden habe, deshalb gibt es jetzt keine Fehler unter IE, aber wie schon gesagt, das kann es ja nicht sein.
Problem mit dem Script unter Internet Explorer 7,8,9
Code:
var scriptURL = 'cgi-bin/minichat.cgi';
var scriptREFRESH = 5;
var xmlHttp = false;
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e) {
xmlHttp = false;
}
}
if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
xmlHttp = new XMLHttpRequest();
}
setInterval("loadMinichat()", scriptREFRESH*1000);
loadMinichat();
function loadMinichat() {
if(xmlHttp) {
var timestamp = new Date().getTime();
xmlHttp.open('GET' , scriptURL + '?func=minichat&nocache=' + timestamp , true);
xmlHttp.onreadystatechange = function() {
if(xmlHttp.readyState == 4) {
[B]//diese zeile bemängelt IE, es wäre kein Object.....[/B]
document.getElementById("minichattext").innerHTML = xmlHttp.responseText;
}
};
xmlHttp.send(null);
}
}
function saveMinichat() {
if(xmlHttp) {
var timestamp = new Date().getTime();
xmlHttp.open('POST', scriptURL);
xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlHttp.onreadystatechange = function() {
if(xmlHttp.readyState == 4) {
document.getElementById("minichatform").chattext.value = '';
if(!document.getElementById("minichatform").chatname.value) {
document.getElementById("minichatform").chatname.focus();
}
else {
document.getElementById("minichatform").chattext.focus();
}
loadMinichat();
}
}
xmlHttp.send('mcname='+document.getElementById("minichatform").chatname.value+'&mctext='+document.getElementById("minichatform").chattext.value+'&nocache='+timestamp);
}
}
Das Script ist im Head der Seite eingebunden, mit FF, Opera usw. gibt es keine Probleme, nur halt mit dem IE.
Wenn ich loadMinichat(); aus dem Script nehme und es an der Stelle direkt in die Seite
eintrage dann sagt der IE auch nichts mehr nur kann das doch nicht ok sein.
Ich nehme an das der IE die Seite anders lädt als die restlichen Browser, also das JavaScript geladen und ausgeführt wird obwohl der HTML Teil noch nicht da ist und es dann halt noch kein id="minichattext" gibt.
Eventuell kennt hier jemand eine Möglichkeit? auch mit <body onload=... gibt der IE die Fehlermeldung aus das Null oder kein Object.
Gruß
Belee
EDIT: Zurzeit läuft es so das ich loadMinichat(); direkt in die Seite mit <script ... eingebunden habe, deshalb gibt es jetzt keine Fehler unter IE, aber wie schon gesagt, das kann es ja nicht sein.
Zuletzt bearbeitet: