X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=0.6.x%2Fjs%2F06_net%2F02_XNetJSONP.js;h=b233d7b9aa6fcc518e0c1750b88b36cc1c42290d;hb=9e04e2a1221a92960a74e550bc3fd809caf3cd1c;hp=efff27d3d5b0521ecce46b2e1f895cd5ca6fc222;hpb=3d352d8bf476ab57cc333e8d02d0e6ea5efa69b7;p=pettanr%2FclientJs.git
diff --git a/0.6.x/js/06_net/02_XNetJSONP.js b/0.6.x/js/06_net/02_XNetJSONP.js
index efff27d..b233d7b 100644
--- a/0.6.x/js/06_net/02_XNetJSONP.js
+++ b/0.6.x/js/06_net/02_XNetJSONP.js
@@ -24,43 +24,43 @@
// TODO iframe useful or not. TODO check dynamicIframe
// TODO file: ã§ã¯ãhttp: ã¯ä½¿ããªã
-X_TEMP.X_NET_JSONP_cb = function( accessKey, jsonString, time, opt_json2FileSize ){
- if( accessKey !== X_NET_JSONP_ACCESS_KEY || !X_NET_JSONPWrapper._busy ) return;
+X_TEMP.X_JSONP_cb = function( accessKey, jsonString, time, opt_json2FileSize ){
+ if( accessKey !== X_JSONP_ACCESS_KEY || !X_JSONP._busy ) return;
- X_NET_JSONPWrapper._busy = false;
+ X_JSONP._busy = false;
- X_NET_JSONPWrapper
+ X_JSONP
[ 'asyncDispatch' ]( {
type : jsonString ? X_EVENT_SUCCESS : X_EVENT_ERROR,
response : X_JSON_parseTrustableString( jsonString )
} );
- X_Net_JSONP_errorTimerID && X_Timer_remove( X_Net_JSONP_errorTimerID );
+ X_JSONP_errorTimerID && X_Timer_remove( X_JSONP_errorTimerID );
console.log( 'ms : ' + time + ' speed : ' + ( ( jsonString.length + ( opt_json2FileSize || 0 ) ) / time * 1000 ) + ' ãã¤ã/ç§.' );
};
-var X_NET_JSONP_ACCESS_KEY = Math.random(),
+var X_JSONP_ACCESS_KEY = Math.random(),
- X_Net_JSONP_maxOnloadCount,
+ X_JSONP_maxOnloadCount,
- X_Net_JSONP_onloadCount = 0,
+ X_JSONP_onloadCount = 0,
- X_Net_JSONP_errorTimerID;
+ X_JSONP_errorTimerID;
-X_TEMP.X_NET_JSONP_init = function(){
- X[ 'Net' ][ '__json_cb__' ] = X_TEMP.X_NET_JSONP_cb;
+X_TEMP.X_JSONP_init = function(){
+ X[ 'Net' ][ '__json_cb__' ] = X_TEMP.X_JSONP_cb;
- X_NET_JSONPWrapper = X_Class_override( X_NinjaIframe(), X_TEMP.X_NET_JSONP_params );
+ X_JSONP = X_Class_override( X_NinjaIframe(), X_TEMP.X_JSONP_params );
- delete X_TEMP.X_NET_JSONP_cb;
- delete X_TEMP.X_NET_JSONP_init;
- delete X_TEMP.X_NET_JSONP_params;
+ delete X_TEMP.X_JSONP_cb;
+ delete X_TEMP.X_JSONP_init;
+ delete X_TEMP.X_JSONP_params;
- return X_NET_JSONPWrapper;
+ return X_JSONP;
};
-X_TEMP.X_NET_JSONP_params = {
+X_TEMP.X_JSONP_params = {
_busy : false,
_canceled : false,
@@ -75,6 +75,11 @@ X_TEMP.X_NET_JSONP_params = {
json2FileSize = 18103,
html;
+ // file ãããã³ã«ã§å¤é¨ã¢ã¯ã»ã¹ã®ç¦æ¢
+ if( !X_URL_isSameProtocol( url ) ){
+ return X_JSONP[ 'asyncDispatch' ]( X_EVENT_ERROR );
+ };
+
url = X_URL_create( url, params );
if( !callback && !( callback = X_URL_paramToObj( url.split( '?' )[ 1 ] )[ 'callback' ] ) ){
@@ -95,12 +100,12 @@ X_TEMP.X_NET_JSONP_params = {
'',
'',
'
'
];
- X_Net_JSONP_maxOnloadCount = 2;
+ X_JSONP_maxOnloadCount = 2;
} else
if( X_UA[ 'IE8' ] ){
html = [
@@ -108,42 +113,42 @@ X_TEMP.X_NET_JSONP_params = {
''
/*ã以ä¸ã®ã³ã¼ã㯠XP ie8 ã§ã¯åããã©ãwin8 IE11(8ã¢ã¼ã)ã§åããªã éçºã®ä¾¿å®ãåã£ã¦,setTimeout ãæã
'',
'' */
];
- X_Net_JSONP_maxOnloadCount = 2;
+ X_JSONP_maxOnloadCount = 2;
} else
if( X_UA[ 'IE9' ] ){
html = [
'',
''
];
- X_Net_JSONP_maxOnloadCount = 2;
+ X_JSONP_maxOnloadCount = 2;
} else
if( window[ 'JSON' ] ){
html = [
'',
''
];
- X_Net_JSONP_maxOnloadCount = 1;
+ X_JSONP_maxOnloadCount = 1;
} else
if( X_UA[ 'IE4' ] || X_UA[ 'MacIE' ] ){
html = [
@@ -151,13 +156,13 @@ X_TEMP.X_NET_JSONP_params = {
'',
''
];
- X_Net_JSONP_maxOnloadCount = 3;
+ X_JSONP_maxOnloadCount = 3;
} else
if( X_UA[ 'IE' ] < 8 ){ // ie5-7
html = [
@@ -165,58 +170,58 @@ X_TEMP.X_NET_JSONP_params = {
'',
''
];
- X_Net_JSONP_maxOnloadCount = 3;
+ X_JSONP_maxOnloadCount = 3;
} else {
html = [
'',
'',
''
];
- X_Net_JSONP_maxOnloadCount = 2;
+ X_JSONP_maxOnloadCount = 2;
};
- X_NET_JSONPWrapper
+ X_JSONP
[ 'refresh' ]( html.join( '' ) )
- [ 'listen' ]( [ 'ninjaload', 'ninjaerror' ], X_NET_JSONP_iframeListener );
+ [ 'listen' ]( [ 'ninjaload', 'ninjaerror' ], X_JSONP_iframeListener );
- X_NET_JSONPWrapper._busy = true;
+ X_JSONP._busy = true;
},
cancel : function(){
- X_NET_JSONPWrapper.reset();
- X_NET_JSONPWrapper._canceled = true;
+ X_JSONP.reset();
+ X_JSONP._canceled = true;
},
reset : function(){
- X_NET_JSONPWrapper._busy = X_NET_JSONPWrapper._canceled = false;
- X_NET_JSONPWrapper[ 'unlisten' ]( [ 'ninjaload', 'ninjaerror' ], X_NET_JSONP_iframeListener );
- X_NET_JSONPWrapper[ 'refresh' ]( '' );
- X_Net_JSONP_errorTimerID && X_Timer_remove( X_Net_JSONP_errorTimerID );
- X_Net_JSONP_errorTimerID = X_Net_JSONP_onloadCount = 0;
+ X_JSONP._busy = X_JSONP._canceled = false;
+ X_JSONP[ 'unlisten' ]( [ 'ninjaload', 'ninjaerror' ], X_JSONP_iframeListener );
+ X_JSONP[ 'refresh' ]( '' );
+ X_JSONP_errorTimerID && X_Timer_remove( X_JSONP_errorTimerID );
+ X_JSONP_errorTimerID = X_JSONP_onloadCount = 0;
}
};
-function X_NET_JSONP_iframeListener( e ){
+function X_JSONP_iframeListener( e ){
switch( e.type ){
case 'ninjaload' :
- console.log( 'iframe onload, but ' + X_Net_JSONP_onloadCount + ' < ' + X_Net_JSONP_maxOnloadCount );
- if( ++X_Net_JSONP_onloadCount < X_Net_JSONP_maxOnloadCount ) return;
+ console.log( 'iframe onload, but ' + X_JSONP_onloadCount + ' < ' + X_JSONP_maxOnloadCount );
+ if( ++X_JSONP_onloadCount < X_JSONP_maxOnloadCount ) return;
// TODO callback ãç¡ããã° error -> timeout ã観ã?
- X_Net_JSONP_errorTimerID = X_NET_JSONPWrapper[ 'asyncDispatch' ]( 1000, X_EVENT_ERROR );
+ X_JSONP_errorTimerID = X_JSONP[ 'asyncDispatch' ]( 1000, X_EVENT_ERROR );
break;
case 'ninjaerror' :
console.log( 'iframe onerror' );
- X_NET_JSONPWrapper[ 'asyncDispatch' ]( X_EVENT_ERROR );
+ X_JSONP[ 'asyncDispatch' ]( X_EVENT_ERROR );
break;
};
return X_CALLBACK_UN_LISTEN;