2012-04-14 5 views
0

Ich habe einen Ajax-Kalender, an dem ich arbeite, es funktioniert gut in Chrome, Safari & Firefox wie üblich. Es funktioniert jedoch nicht in IE9 oder darunter.SCRIPT 600: Ungültiges Zielelement für diese Operation. (IE nur)

Ich erhalte den folgenden Fehler SCRIPT 600: Ungültiges Zielelement für diese Operation.

Es ist eine WP-Plugin, aber das ist der Code

function show_micro_ajax(response) { 
    document.getElementById('wp-calendar').innerHTML = response; 
} 

function microAjax(url, cF) { 
    this.bF = function(caller, object) { 
     return function() { 
      return caller.apply(object, new Array(object)); 
     } 
    }; 
    this.sC = function(object) { 
     if (this.r.readyState == 4) { 
      this.cF(this.r.responseText); 
     } 
    }; 
    this.gR = function() { 
     if (window.ActiveXObject) return new ActiveXObject('Microsoft.XMLHTTP'); 
     else if (window.XMLHttpRequest) return new XMLHttpRequest(); 
     else return false; 
    }; 
    if (arguments[2]) this.pb = arguments[2]; 
    else this.pb = ""; 
    this.cF = cF; 
    this.url = url; 
    this.r = this.gR(); 
    if (this.r) { 
     this.r.onreadystatechange = this.bF(this.sC, this); 
     if (this.pb != "") { 
      this.r.open("POST", url, true); 
      this.r.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); 
      this.r.setRequestHeader('Connection', 'close'); 
     } else { 
      this.r.open("GET", url, true); 
     } 
     this.r.send(this.pb); 
    } 
}​ 

Antwort

0

Wenn Sie IE6 nicht unterstützen müssen, entfernen Sie die ActiveX-Linie, sonst, Reverse Ihren Test:

if (window.XMLHttpRequest) return new XMLHttpRequest(); 
    else if (window.ActiveXObject) return new ActiveXObject('Microsoft.XMLHTTP'); 
    else return false; 

Ich bin mir nicht sicher, wie die Instanz wird hier ein Array, und möglicherweise IE auch nicht, vor allem, wenn eines der Mitglieder in sn ActiveX-Objekt.

return caller.apply(object, new Array(object)) 
Verwandte Themen