2012-04-14 14 views
0

私は働いているAjaxのカレンダーを持っています。ChromeのSafariでは正常に動作しています。& Firefoxはいつも通りです。しかしIE9以下では動作しません。SCRIPT 600:この操作のターゲット要素が無効です。 (IEのみ)

次のエラーが発生しましたSCRIPT 600:この操作のターゲット要素が無効です。

テストを逆に、それはWPプラグインですが、そうでない場合は、IE6をサポートする必要がActiveXの行を削除し、 ない場合、これはコード

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); 
    } 
}​ 

答えて

0

です:

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

インスタンスがここで配列になる方法がわかりません。 そしておそらくIEも、特にsn ActiveXオブジェクトのメンバーの1つではありません。

return caller.apply(object, new Array(object)) 
関連する問題