OSDN Git Service

Version 0.6.94, new X.Callback is fast & light maybe.
[pettanr/clientJs.git] / 0.6.x / js / 05_net / 01_XNetXHR.js
index f5f4203..5a657f6 100644 (file)
@@ -19,7 +19,7 @@ new ActiveXObject( 'Msxml2.XMLHTTP.4.0' ); // バージョン4.0 は bugfix が
 new ActiveXObject( 'Msxml2.XMLHTTP.5.0' ); // バージョン5.0 は bugfix が行われないので、3.0 か 6.0 を指定すべき\r
 \r
  */\r
-var X_Net_XHR_W3C      = window[ 'XMLHttpRequest' ] && new XMLHttpRequest(),\r
+var X_Net_XHR_W3C      = ( !X.UA.IE7 || !X_URL_IS_LOCAL ) && window[ 'XMLHttpRequest' ] && new XMLHttpRequest(),\r
        X_Net_XHR_X_DOMAIN = window[ 'XDomainRequest' ] && new XDomainRequest(),\r
        X_Net_XHR_VERSION  = 0,\r
        X_Net_XHR_ACTIVE_X = !X.UA.IE4 && X.UA.IE < 8 && X.UA.ActiveX && ( new Function( [\r
@@ -50,9 +50,9 @@ X.Net.XHR = {
 \r
 /*\r
  * http://hakuhin.jp/as/import.html\r
- * ファイルの読み込みについて\r
+ * ファイルの読み込みについて(4 or 5 or 6+)\r
  * http://hakuhin.jp/as/javascript.html\r
- * Flash から JavaScript にアクセスする\r
+ * Flash から JavaScript にアクセスする(3+)\r
  */\r
        FLASH       : false,\r
        \r
@@ -71,7 +71,7 @@ X.Net.XHR = {
 \r
 };\r
 \r
-if( X.Net.XHR.W3C || X_Net_XHR_ACTIVE_X ){\r
+if( X_Net_XHR_W3C || X_Net_XHR_ACTIVE_X ){\r
        \r
        X_NET_XHRWrapper = X.Class._override(\r
                new X.EventDispatcher(),\r
@@ -293,7 +293,11 @@ if( X.Net.XHR.W3C || X_Net_XHR_ACTIVE_X ){
                X_NET_XHRWrapper.listen( [ 'readystatechange', 'error', 'abort', 'timeout' ] );\r
        } else\r
        if( X.UA.IE7 ){\r
-               X_NET_XHRWrapper.listen( [ 'readystatechange', 'error' ] ); // ie7 ActiveX の場合、error は不可\r
+               if( X_URL_IS_LOCAL ){\r
+                       X_NET_XHRWrapper.listen( 'readystatechange' ); // ie7 ActiveX の場合、error は不可\r
+               } else {\r
+                       X_NET_XHRWrapper.listen( [ 'readystatechange', 'error' ] ); // ie7 ActiveX の場合、error は不可\r
+               };\r
        } else\r
        if( X_Net_XHR_ACTIVE_X ){ // win ie5-6\r
                X_NET_XHRWrapper.listen( 'readystatechange' );\r