\r
X_NET_GIMR_phase = 0,\r
\r
- X_NET_GIMR_lastHashString;\r
+ X_NET_GIMR_lastHashString,\r
+ \r
+ X_NET_GIMR_isReceiveBatches, X_NET_GIMR_receivedString;\r
\r
\r
function X_NET_GIMR_detectImageOverIframe(){\r
var raw = X_NET_GIMR_gadgetIframe[ '_rawObject' ],\r
- iwin, ret, error, data = null;\r
+ iwin, ret, n, error, data = null;\r
\r
if( raw ){\r
iwin = raw.contentWindow || ( raw.contentDocument && raw.contentDocument.parentWindow ) || window.frames[ X_NET_GIMR_iframeName ];\r
ret = X_NET_GIMR_detection( iwin.frames );\r
if( ret && ret !== X_NET_GIMR_lastHashString ){\r
X_NET_GIMR_lastHashString = ret;\r
- console.log( ret );\r
+ //console.log( ret.length );\r
+ //console.log( '' + ret );\r
\r
switch( X_NET_GIMR_phase ){\r
case 0 : // init\r
break;\r
\r
case 2 : // _waiting_ 通信結果待ち\r
- ret = X_String_parseTrustedJsonString( decodeURIComponent( ret.substr( 1 ) ) );\r
+ // 分割受信モードか?\r
+ ret = ret.substr( 1 );\r
+ n = parseInt( ret );\r
+ \r
+ if( X_NET_GIMR_isReceiveBatches ){\r
+ X_NET_GIMR_receivedString += ret;\r
+ if( --X_NET_GIMR_isReceiveBatches ){\r
+ iwin.location.href = X_NET_GIMR_GADGET_URL + '#_recived_' + X_NET_GIMR_isReceiveBatches;\r
+ return;\r
+ };\r
+ } else\r
+ if( 1 < n ){\r
+ X_NET_GIMR_receivedString = ret.substr( ( n + ':' ).length );\r
+ X_NET_GIMR_isReceiveBatches = --n;\r
+ iwin.location.href = X_NET_GIMR_GADGET_URL + '#_recived_' + X_NET_GIMR_isReceiveBatches;\r
+ // TODO speedup\r
+ X_NET_GIMR_timerID = X_Timer_add( 16, 0, X_NET_GIMR_detectImageOverIframe );\r
+ return X_Callback_UN_LISTEN;\r
+ } else {\r
+ X_NET_GIMR_receivedString = ret;\r
+ };\r
+\r
+ var zero = String.fromCharCode( 0 );\r
+ console.log( _builtin_decodeURI( X_NET_GIMR_receivedString ).split( zero + '002' ).join( '--' ).split( zero + 'E0F' ).join( '--' ) );\r
+ ret = X_String_parseTrustedJsonString( _builtin_decodeURI( X_NET_GIMR_receivedString ).split( zero + '002' ).join( '。' ).split( zero + 'F0E' ).join( '.' ) );\r
+ \r
+ X_NET_GIMR_receivedString = '';\r
\r
error = ret[ 'errors' ] && ret[ 'errors' ].length;\r
\r
X_NET_GIMRWrapper\r
[ 'asyncDispatch' ]({\r
type : error ? X_EVENT_ERROR : X_EVENT_SUCCESS,\r
- state : ret[ 'rc' ] || ( error ? 400 : 200 ),\r
+ state : ret[ 'rc' ] || ( error ? ret[ 'code' ] || 400 : 200 ),\r
data : data,\r
'headers' : ret[ 'headers' ],\r
'message' : error && ret[ 'errors' ].join( '\n' )\r
});\r
- iwin.location.href = X_NET_GIMR_GADGET_URL + '#_recived_';\r
+ \r
X_NET_GIMR_timerID = X_NET_GIMR_phase = 0;\r
- X_NET_GIMR_lastHashString = '';\r
+ X_NET_GIMR_lastHashString = ''; \r
+ iwin.location.href = X_NET_GIMR_GADGET_URL + '#_recived_';\r
\r
return X_Callback_UN_LISTEN;\r
};\r
} );\r
};\r
\r
- X_NET_GIMR_timerID = X.Timer.add( 100, 0, X_NET_GIMR_detectImageOverIframe );\r
+ X_NET_GIMR_timerID = X_Timer_add( 333, 0, X_NET_GIMR_detectImageOverIframe );\r
\r
X_NET_GIMR_requestOriginal = X_Object_deepCopy( obj );\r
+ \r
+ console.dir( obj );\r
\r
X_NET_GIMR_requestOptions = {\r
'CONTENT_TYPE' : 'TEXT',\r
};\r
\r
for( k in obj ){\r
- if( v = obj[ k ] ){\r
+ if( v = '' + obj[ k ] ){\r
switch( k ){\r
case 'postdata' :\r
X_NET_GIMR_requestOptions[ 'POST_DATA' ] = v;\r
break; \r
case 'dataType' :\r
// TEXT 以外は無視される?\r
- switch( v = ( '' + v ).toUpperCase() ){\r
+ switch( v = v.toUpperCase() ){\r
case 'TEXT' :\r
case 'JSON' :\r
X_NET_GIMR_requestOptions[ 'CONTENT_TYPE' ] = v;\r
}; \r
break;\r
case 'headers' :\r
- X_NET_GIMR_requestOptions[ 'HEADERS' ] = X_NET_GIMR_requestOriginal[ v ];\r
+ X_NET_GIMR_requestOptions[ 'HEADERS' ] = X_NET_GIMR_requestOriginal[ k ];\r
break;\r
case 'cashe' :\r
X_NET_GIMR_requestOptions[ 'REFRESH_INTERVAL' ] = 3600;\r