OSDN Git Service

Version 0.6.170, X.Audio is working ADVANCED_OPTIMIZATIONS.
[pettanr/clientJs.git] / 0.6.x / js / 06_net / 01_XNetXHR.js
index 0531a29..785bcbf 100644 (file)
@@ -74,7 +74,7 @@ var // Opera7.6+, Safari1.2+, khtml3.?+, Gecko0.9.7+
        X_Net_XHR_msXMLVer    = 0,      \r
        X_Net_XHR_msXML       = X_Net_XHR_createMSXML && X_Net_XHR_createMSXML( true ),\r
        \r
-       X_Net_XHR_neverReuse  = X_UA[ 'IE' ] < 9, // ie7,8 の xhr はリユース不可。msxml はリユース可能。\r
+       X_Net_XHR_neverReuse  = X_UA[ 'IE' ] < 9 || X_UA[ 'iOS' ] || X_UA[ 'Android' ], // ie7,8 の xhr はリユース不可。msxml はリユース可能。\r
        \r
        X_Net_XHR_TYPE_FLASH  = 8,\r
        X_Net_XHR_TYPE_GADGET = 16;\r
@@ -470,7 +470,6 @@ X_TEMP.X_Net_XHR_params = {
                                                                        data = raw[ 'response' ] || raw[ 'responseText' ]; // とりあえず\r
                                                                        break;\r
                                                        };\r
-\r
                                                        X_NET_XHRWrapper[ 'asyncDispatch' ]( 32, { type : X_EVENT_SUCCESS, status : status || 200, response : data, 'headers' : headers || null } );\r
                                                } else {\r
                                                        X_NET_XHRWrapper[ 'asyncDispatch' ]( 32, { type : X_EVENT_ERROR, status : status || 400, 'headers' : headers || null } );\r
@@ -479,8 +478,8 @@ X_TEMP.X_Net_XHR_params = {
                                        \r
                                        case 'progress' :\r
                                                if( e.lengthComputable ){\r
-                                                       X_NET_XHRWrapper._percent = e.loaded / e.total;\r
-                                                       live && X_NET_XHRWrapper[ 'asyncDispatch' ]( { type : X_EVENT_PROGRESS, 'percent' : X_NET_XHRWrapper._percent } );\r
+                                                       X_NET_XHRWrapper._percent = e.loaded / e.total * 100;\r
+                                                       live && X_NET_XHRWrapper._percent < 100 && X_NET_XHRWrapper[ 'asyncDispatch' ]( { type : X_EVENT_PROGRESS, 'percent' : X_NET_XHRWrapper._percent } );\r
                                                };\r
                                                break;\r
                                        \r
@@ -511,10 +510,12 @@ X_TEMP.X_Net_XHR_params = {
                        },\r
                        \r
                        onUploadProgress : X_Net_XHR_upload && function( e ){\r
-                               var raw  = X_NET_XHRWrapper[ '_rawObject' ].upload,\r
-                                       live = !X_NET_XHRWrapper._canceled,\r
-                                       states, data;\r
-                               live && X_NET_XHRWrapper[ 'asyncDispatch' ]( { type : X_EVENT_PROGRESS, 'percent' : X_NET_XHRWrapper._percent, 'uploadPercent' : ( e.loaded / e.total ) } );\r
+                               !X_NET_XHRWrapper._canceled &&\r
+                                       X_NET_XHRWrapper[ 'asyncDispatch' ]( {\r
+                                               type            : X_EVENT_PROGRESS,\r
+                                               'percent'       : X_NET_XHRWrapper._percent,\r
+                                               'uploadPercent' : e.loaded / e.total * 100\r
+                                       } );\r
                        }\r
                };\r
        // 同期リクエストでなければならない場合, unload, beforeunload時\r