OSDN Git Service

Version 0.6.159, fix X.Class & X.XHR.Gadget.
[pettanr/clientJs.git] / 0.6.x / js / 06_net / 01_XNetXHR.js
index efe8c94..dad1597 100644 (file)
@@ -1,3 +1,5 @@
+//{+xhr"XHR,XDR,MSXMLによる通信"(XMLHTTPRequest, XDomainRequest, ActiveX-MSXML を使った通信)[+net]\r
+\r
 // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest\r
 // https://web.archive.org/web/20071101021832/http://web.paulownia.jp/script/ajax/xmlhttp4.html\r
 // https://web.archive.org/web/20091029170015/http://wiki.paulownia.jp/ajax/xmlhttprequest\r
@@ -42,7 +44,7 @@ TODO クライアント側にもリトライ機構を入れてみる
 \r
  */\r
 var // Opera7.6+, Safari1.2+, khtml3.?+, Gecko0.9.7+\r
-       // ie7&8 ではローカルリソースには ActiveX の XHR を使う\r
+       // ie9- ではローカルリソースには MSXML を使う\r
        X_Net_XHR_createW3C   = window[ 'XMLHttpRequest' ] && function(){ return X_Net_XHR_w3c || ( X_Net_XHR_w3c = new XMLHttpRequest() ); },\r
        X_Net_XHR_w3c         = X_Net_XHR_createW3C && X_Net_XHR_createW3C(),\r
        X_Net_XHR_cors        = X_Net_XHR_w3c && X_Net_XHR_w3c.withCredentials !== undefined,\r
@@ -73,7 +75,8 @@ var // Opera7.6+, Safari1.2+, khtml3.?+, Gecko0.9.7+
        \r
        X_Net_XHR_neverReuse  = X_UA[ 'IE' ] < 9, // ie7,8 の xhr はリユース不可。msxml はリユース可能。\r
        \r
-       X_Net_XHR_init;\r
+       X_Net_XHR_TYPE_FLASH  = 8,\r
+       X_Net_XHR_TYPE_GADGET = 16;\r
 \r
 if( X_Net_XHR_msXML ){\r
        X_Net_XHR_msXMLVer = X_Net_XHR_msXML[ 0 ];\r
@@ -115,15 +118,17 @@ if( X_Net_XHR_msXMLVer ) X[ 'XHR' ][ 'MSXML_VERSION' ] = X_Net_XHR_msXMLVer;
 if( X_Net_XHR_w3c || X_Net_XHR_msXML ){\r
 \r
 X_TEMP.X_Net_XHR_init = function(){\r
+       X_NET_XHRWrapper = X_Class_override( X_EventDispatcher(), X_TEMP.X_Net_XHR_params, true );\r
        \r
        delete X_TEMP.X_Net_XHR_init;\r
+       delete X_TEMP.X_Net_XHR_params; \r
        \r
-       X_NET_XHRWrapper = X_Class_override(\r
-               X_EventDispatcher(),\r
-               {\r
+       return X_NET_XHRWrapper;\r
+};\r
+\r
+X_TEMP.X_Net_XHR_params = {\r
                        \r
                        '_rawType'   : X_EventDispatcher_EVENT_TARGET_XHR,\r
-                       // '_rawObject' : X_Net_XHR_w3c || X_Net_XHR_msXML,\r
                        \r
                        _isXDR       : false,\r
                        _isMsXML     : false,\r
@@ -264,7 +269,7 @@ X_TEMP.X_Net_XHR_init = function(){
                                        \r
                                        for( p in headers ){\r
                                                if( X_EMPTY_OBJECT[ p ] ) continue;\r
-                                               console.log( headers[ p ] );\r
+                                               //console.log( headers[ p ] );\r
                                                headers[ p ] !== undefined && raw.setRequestHeader( p, headers[ p ] + '' ); // Opera8.01+, MSXML3+\r
                                        };\r
                                };\r
@@ -505,16 +510,10 @@ X_TEMP.X_Net_XHR_init = function(){
                                        states, data;\r
                                live && X_NET_XHRWrapper[ 'asyncDispatch' ]( { type : X_EVENT_PROGRESS, 'percent' : X_NET_XHRWrapper._percent, 'uploadPercent' : ( e.loaded / e.total ) } );\r
                        }\r
-               },\r
-               true\r
-       );\r
+               };\r
        // 同期リクエストでなければならない場合, unload, beforeunload時\r
-       \r
-       return X_NET_XHRWrapper;\r
-};\r
 \r
 };\r
-\r
 /*\r
  * https://gist.github.com/mmazer/5404301\r
  * \r