X_ViewPort_vScrollbarSize,
X_ViewPort_hScrollbarSize,
- X_Dom_detectFontSize = !( X_UA.IE < 9 || X_UA.iOS ) && function(){
+ X_Dom_detectFontSize = !( X_UA[ 'IE' ] < 9 || X_UA[ 'iOS' ] ) && function(){
var size = X_Node_fontSizeNode._rawObject.offsetHeight;
if( X_ViewPort_baseFontSize !== size ){
- X_ViewPort_baseFontSize && X_ViewPort.asyncDispatch( X.Event.BASE_FONT_RESIZED );
+ X_ViewPort_baseFontSize && X_ViewPort.asyncDispatch( X_Event.BASE_FONT_RESIZED );
X_ViewPort_baseFontSize = size;
};
},
X_ViewPort_orientationFlag,
X_Dom_orientationchange = window[ 'orientation' ] !== undefined && function( e ){
X_ViewPort_orientationFlag = true;
- !X_UA.Android && X_ViewPort_resize();
+ !X_UA[ 'Android' ] && X_ViewPort_resize();
//console.log( '-- orientationchange : ' + X.ViewPort.getSize[ 0 ] + ' ' + X.ViewPort.getSize[ 1 ] );
},
href = e.target && e.target.attr && e.target.attr( 'href' );
if( href && href.indexOf && href.indexOf( 'javascript:' ) === 0 ) return X.Callback.PREVENT_DEFAULT | X.Callback.STOP_PROPAGATION;
- return X_ViewPort.dispatch( X.Event.BEFORE_UNLOAD );
+ return X_ViewPort.dispatch( X_Event.BEFORE_UNLOAD );
case 'unload' :
- X_ViewPort.dispatch( X.Event.UNLOAD );
+ X_ViewPort.dispatch( X_Event.UNLOAD );
//alert('unload');
X_ViewPort_document.kill();
this.kill();
- //X_System.dispatch( X.Event.SHUT_DOWN );
+ //X_System.dispatch( X_Event.SHUT_DOWN );
break;
case 'visibilitychange' :
- X_ViewPort.dispatch( ( X_ViewPort_active = document[ 'hidden' ] ) ? X.Event.VIEW_DEACTIVATE : X.Event.VIEW_ACTIVATE );
+ X_ViewPort.dispatch( ( X_ViewPort_active = document[ 'hidden' ] ) ? X_Event.VIEW_DEACTIVATE : X_Event.VIEW_ACTIVATE );
break;
case 'mozvisibilitychange' :
- X_ViewPort.dispatch( ( X_ViewPort_active = document[ 'mozHidden' ] ) ? X.Event.VIEW_DEACTIVATE : X.Event.VIEW_ACTIVATE );
+ X_ViewPort.dispatch( ( X_ViewPort_active = document[ 'mozHidden' ] ) ? X_Event.VIEW_DEACTIVATE : X_Event.VIEW_ACTIVATE );
break;
case 'webkitvisibilitychange' :
- X_ViewPort.dispatch( ( X_ViewPort_active = document[ 'webkitHidden' ] ) ? X.Event.VIEW_DEACTIVATE : X.Event.VIEW_ACTIVATE );
+ X_ViewPort.dispatch( ( X_ViewPort_active = document[ 'webkitHidden' ] ) ? X_Event.VIEW_DEACTIVATE : X_Event.VIEW_ACTIVATE );
break;
case 'pageshow' :
case 'focus' :
if( !X_ViewPort_active ){
X_ViewPort_active = true;
- X_ViewPort.dispatch( X.Event.VIEW_ACTIVATE );
+ X_ViewPort.dispatch( X_Event.VIEW_ACTIVATE );
};
break;
case 'blur' :
if( X_ViewPort_active ){
X_ViewPort_active = false;
- X_ViewPort.dispatch( X.Event.VIEW_DEACTIVATE );
+ X_ViewPort.dispatch( X_Event.VIEW_DEACTIVATE );
};
break;
};
);
+/**
+ * window に相当する ViewPort 情報を提供するオブジェクト。
+ * @namespace X.ViewPort
+ * @alias X.ViewPort
+ */
X.ViewPort = {
listen : function( type, arg1, arg2, arg3 ){
if( type <= X_ViewPort_readyState ){
/*
- * X.Event.XDOM_READY 以後に listen した場合の対策
+ * X_Event.XDOM_READY 以後に listen した場合の対策
*/
X_ViewPort.asyncDispatch( type );
};
},
- /* 要素が視界に入った http://remysharp.com/2009/01/26/element-in-view-event-plugin/ */
+ /* 要素が視界に入った http://remysharp.com/2009/01/26/element-in-view-event-plugin/
+ * TODO -> Node.call('inView')
+ */
inView : function( elm ){
},
// Safari2.0.4では標準・互換どちらも document.body
X_Node_updateTimerID && X_Node_startUpdate();
- /*X_UA.Opera ?
+ /*X_UA[ 'Opera' ] ?
( document.documentElement && document.documentElement.clientWidth ?
new Function( 'return[document.documentElement.clientWidth,document.documentElement.clientHeight]' ) :
new Function( 'return[document.body.clientWidth,document.body.clientHeight]' )
*/
var X_ViewPort_resize =
// iOS もループで回す,,,iOS3.1.3, iOS6 で確認
- X_UA.IE < 9 || X_UA.iOS ?
+ X_UA[ 'IE' ] < 9 || X_UA[ 'iOS' ] ?
(function(){
var size;
if( !X_ViewPort_lock ){
size = X_Node_fontSizeNode._rawObject.offsetHeight;
if( X_ViewPort_baseFontSize !== size ){
- X_ViewPort_baseFontSize && X_ViewPort.asyncDispatch( X.Event.BASE_FONT_RESIZED );
+ X_ViewPort_baseFontSize && X_ViewPort.asyncDispatch( X_Event.BASE_FONT_RESIZED );
X_ViewPort_baseFontSize = size;
};
} else {
console.log( '-- detectFinishResizing : ' + X_Timer_now() );
- X_ViewPort.asyncDispatch( X.Event.VIEW_RESIZED );
+ X_ViewPort.asyncDispatch( X_Event.VIEW_RESIZED );
X_ViewPort_lock = false;
if( X_ViewPort_orientationFlag ){
X_ViewPort_orientationFlag = false;
- X_ViewPort.asyncDispatch( 100, { type : X.Event.VIEW_TURNED, orientation : window.orientation } );
+ X_ViewPort.asyncDispatch( 100, { type : X_Event.VIEW_TURNED, orientation : window.orientation } );
};
};
};
X_ViewPort.listenOnce( X_TEMP.SYSTEM_EVENT_XTREE, function(){
X_ViewPort_readyState = X_TEMP.SYSTEM_EVENT_INIT;
- //X_UA.Opera7 && alert( 'bc' );
+ //X_UA[ 'Opera7' ] && alert( 'bc' );
X_Node_body.appendAt( 0,
X_Node_systemNode = X_Doc_create( 'div', { 'class' : 'hidden-system-node' } ),
X_Node_fontSizeNode = X_Doc_create( 'div', { 'class' : 'hidden-system-node' } ).cssText( 'line-height:1;height:1em;' ).text( 'X' )
X_ViewPort_baseFontSize = X_Node_fontSizeNode._rawObject.offsetHeight;
- X_ViewPort_readyState = X.Event.XDOM_READY;
- X_ViewPort.asyncDispatch( { type : X.Event.XDOM_READY, w : X_ViewPort_width = size[ 0 ], h : X_ViewPort_height = size[ 1 ] } );
+ X_ViewPort_readyState = X_Event.XDOM_READY;
+ X_ViewPort.asyncDispatch( { type : X_Event.XDOM_READY, w : X_ViewPort_width = size[ 0 ], h : X_ViewPort_height = size[ 1 ] } );
} );
X_ViewPort.asyncDispatch( X_TEMP.SYSTEM_EVENT_PRE_INIT );
if( document[ 'webkitHidden' ] !== undefined ){
X_EventDispatcher_systemListen( X_ViewPort_document, 'webkitvisibilitychange', X_ViewPort );
} else
- if( X_UA.iOS && window[ 'onpageshow' ] !== undefined ){
+ if( X_UA[ 'iOS' ] && window[ 'onpageshow' ] !== undefined ){
X_EventDispatcher_systemListen( X_ViewPort, [ 'pageshow', 'pagehide' ] );
} else {
X_EventDispatcher_systemListen( X_ViewPort, [ 'focus', 'blur' ] );
};
function X_ViewPort_getWindowSize(){
- return X_UA.IE ?
+ return X_UA[ 'IE' ] ?
[ X_ViewPort_rootElement.clientWidth, X_ViewPort_rootElement.clientHeight ] :
[ window.innerWidth, window.innerHeight ];
};
if( X_UA_EVENT.W3C ){
X_ViewPort_document.listenOnce( 'DOMContentLoaded', X_TEMP.onDomContentLoaded );
} else
-if( 6 <= X_UA.IE && X.inHead ){
+if( 6 <= X_UA[ 'IE' ] && X.inHead ){
// if this script in Head
document.write( "<script id=__ie_onload defer src=javascript:void(0)><\/script>" );
X_TEMP._script = document.getElementById( "__ie_onload" );
};
// Re: onLoad doesn't work with Safari?
// http://lists.apple.com/archives/web-dev/2003/Oct/msg00036.html
-if( X_UA.WebKit || X_UA.Safari < 3 ){ // sniff
+if( X_UA[ 'WebKit' ] || X_UA[ 'Safari' ] < 3 ){ // sniff
X.Timer.add( 16, function(){
if( !X_TEMP.onDomContentLoaded ) return X_Callback_UN_LISTEN;
if( document.readyState === 'loaded' || document.readyState === 'complete' ) return X_TEMP.onDomContentLoaded();