OSDN Git Service

Version 0.6.94, new X.Callback is fast & light maybe.
[pettanr/clientJs.git] / 0.6.x / js / 02_dom / 00_XDom.js
index e5b2ebf..22a96cf 100644 (file)
@@ -1,11 +1,9 @@
 \r
-\r
-\r
 X.Dom = X.Class._override(\r
        new X.EventDispatcher(),\r
        {\r
                readyState   : -1,\r
-               active       : !!window.parent || !!document.activeElement, // frameに読み込まれた場合のieのerror回避\r
+               active       : !!window.parent || !!document.activeElement, // parent は frameに読み込まれた場合のieのerror回避\r
                _root        : null,\r
 \r
                _lock        : false,\r
@@ -29,7 +27,7 @@ X.Dom = X.Class._override(
  * \r
  * http://sssslide.com/www.slideshare.net/hiroakiwakamatsu/javascript-14514208\r
  * 1. 傾き時の画面サイズ取得ー 対処方法の例\r
- * (1)ー タイマーを使って、画面サイズ取得の タイミングを少しだけ遅延させる\r
+ * (1)ー? タイマーを使って、画面サイズ取得の タイミングを少しだけ遅延させる\r
  * window.onorientationchange = function() { setTimeout(function() { alert("W: " + window.innerWidth + ", H: " + window.innerHeight); }, 200); }\r
  * 横に傾けた時、正常に横向け時の 幅と高さが取得できている ただし、端末によってはうまく取得できな い場合がある(Galaxy S IIIとか・・・) 7 \r
  * \r
@@ -87,7 +85,7 @@ X.Dom = X.Class._override(
 \r
                _init : function(){\r
                        var s, size, html, head, body;\r
-                       if( X.Dom.Event.DOM_PRE_INIT <= X.Dom.readyState ) return X.Callback.UN_LISTEN;\r
+                       if( X.Dom.Event.DOM_PRE_INIT <= X.Dom.readyState ) return X_Callback_UN_LISTEN;\r
                        \r
                        console.log( 'X.Dom._init()' );\r
                        \r
@@ -102,16 +100,16 @@ X.Dom = X.Class._override(
                        html = Node._html =\r
                                document.documentElement ?\r
                                        new Node( document.documentElement ) :\r
-                               X.Dom.DOM_W3C ?\r
+                               X_UA_DOM.W3C ?\r
                                        new Node( document.getElementsByTagName( 'html' )[ 0 ] ) :\r
-                               X.Dom.DOM_IE4 ?\r
+                               X_UA_DOM.IE4 ?\r
                                        new Node( document.all.tags( 'html' )[ 0 ] ) :\r
                                        null;\r
                \r
                        head = Node._head =\r
-                               X.Dom.DOM_W3C ?\r
+                               X_UA_DOM.W3C ?\r
                                        new Node( document.getElementsByTagName( 'head' )[ 0 ] ) :\r
-                               X.Dom.DOM_IE4 ?\r
+                               X_UA_DOM.IE4 ?\r
                                        new Node( document.all.tags( 'head' )[ 0 ] ) :\r
                                        null;\r
                \r
@@ -131,7 +129,7 @@ X.Dom = X.Class._override(
 \r
                        X.Dom.listenOnce( X.Dom.Event.DOM_PRE_INIT, function(){\r
                                X.Dom.readyState = X.Dom.Event.DOM_BUILDER_COMPLETE;\r
-                               !X.Dom._useBuilder && X.Dom.asyncDispatch( 0, { type : X.Dom.Event.DOM_BUILDER_COMPLETE } );\r
+                               !X_TEMP.X_Dom_useBuilder && X.Dom.asyncDispatch( 0, { type : X.Dom.Event.DOM_BUILDER_COMPLETE } );\r
                        } );\r
                        \r
                        X.Dom.listenOnce( X.Dom.Event.DOM_BUILDER_COMPLETE, function(){\r
@@ -188,7 +186,7 @@ X.Dom = X.Class._override(
                                                        .listen( 'blur', X.Dom );\r
                        };\r
 \r
-                       return X.Callback.UN_LISTEN;\r
+                       return X_Callback_UN_LISTEN;\r
                },\r
 \r
                handleEvent : function( e ){\r
@@ -318,123 +316,6 @@ if( !( X.UA.IE < 9 || X.UA.iOS ) ){
        };\r
 };\r
 \r
-/*\r
- * http://d.hatena.ne.jp/t-uchima/20051003/p1\r
- * MacIEにはattachEventが一応あるけどwindow.attachEventとdocument.attachEventしかなく他の要素にはattachEventはない。\r
- */\r
-if( X.UA.MacIE ){\r
-       X.Dom.DOM_W3C    = true;\r
-       X.Dom.EVENT_DOM0 = true;\r
-} else\r
-if( X.UA.IE4 ){ // ie4 & iemobi4\r
-       X.Dom.DOM_IE4    = true;\r
-       X.Dom.EVENT_DOM0 = true;\r
-} else\r
-if( document.getElementById ){\r
-       X.Dom.DOM_W3C = true;\r
-       if( document.addEventListener ){\r
-               X.Dom.EVENT_W3C = true;\r
-       } else\r
-       if( document.attachEvent ){\r
-               X.Dom.EVENT_IE = true;\r
-       } else {\r
-               X.Dom.EVENT_DOM0 = true;\r
-       };\r
-} else\r
-if( document.all ){\r
-       X.Dom.DOM_IE4    = true;\r
-       X.Dom.EVENT_DOM0 = true;\r
-} else\r
-if( document.layers ){\r
-       \r
-} else {\r
-       \r
-};\r
-\r
-X.Dom.EVENT_POINTER = navigator.msPointerEnabled || navigator.pointerEnabled;\r
-X.Dom.EVENT_TOUCH   = !X.Dom.EVENT_POINTER && window.ontouchstart !== undefined;\r
-\r
-\r
-\r
-X.Dom.CRLF = String.fromCharCode( 13 ) + String.fromCharCode( 10 );\r
-               \r
-X.Dom.cleanupWhiteSpace = function( text ){\r
-       var _ = ' ', __ = '  ', CRLF = X.Dom.CRLF;\r
-       //text.indexOf( CRLF )   !== -1 && ( text = text.split( CRLF ).join( _ ) );\r
-       text.indexOf( '\n\r' ) !== -1 && ( text = text.split( '\n\r' ).join( _ ) );\r
-       text.indexOf( '\t' )   !== -1 && ( text = text.split( '\t' ).join( _ ) );\r
-       text.indexOf( '\r' )   !== -1 && ( text = text.split( '\r' ).join( _ ) );\r
-       text.indexOf( '\n' )   !== -1 && ( text = text.split( '\n' ).join( _ ) );\r
-       text.indexOf( '\f' )   !== -1 && ( text = text.split( '\f' ).join( _ ) );\r
-       text.indexOf( '\b' )   !== -1 && ( text = text.split( '\b' ).join( _ ) );\r
-       while( text.indexOf( __ ) !== -1 ){\r
-               text = text.split( __ ).join( _ );\r
-       };\r
-       return text;\r
-};\r
-\r
-X.Dom.whiteSpaceToTag = function( text ){\r
-    if( text == null ) return '';\r
-    return text.toString()\r
-       //.split( '\r\n\r\n' ).join( '<br>' )\r
-       //.split( '\n\r\n\r' ).join( '<br>' )\r
-       //.split( '\r\n' ).join( '<br>' )\r
-       .split( '\n\r' ).join( '<br>' )\r
-       .split( '\r' ).join( '<br>' )\r
-       .split( '\n' ).join( '<br>' )\r
-       .split( '\t' ).join( '&nbsp;&nbsp;&nbsp;&nbsp;' )\r
-       .split( '\f' ).join( '' )\r
-       .split( '\b' ).join( '' );\r
-};\r
-\r
-X.Dom.chrReferanceTo = function( str ){\r
-    if( str == null ) return '';\r
-    return str.toString()\r
-       .split( '&amp;' ).join( '&' )\r
-       .split( '&lt;' ).join( '<' )\r
-       .split( '&gt;' ).join( '>' )\r
-       .split( '&nbsp;' ).join( ' ' );\r
-};\r
-\r
-/*\r
- * original\r
- * AS3で相対パスを絶対パスに変換する\r
- * http://www.shin-go.net/motionlab/?p=449\r
- */\r
-X.Dom.baseURL = ( function( parts ){\r
-       var last = 1 < parts.length && parts[ parts.length - 1 ];\r
-       if( last !== false && ( last === '' || //末尾が/で終わるとき\r
-               last.indexOf( '.' ) !== -1 ) ){//末尾がファイル名で終わる時\r
-               \r
-               --parts.length;\r
-       };\r
-       return parts.join( '/' );\r
-})( location.href.split( '?' )[ 0 ].split( '#' )[ 0 ].split( '/' ) );\r
-\r
-X.Dom.getAbsolutePath = function( path ){\r
-       var s  = '/',\r
-               ss = '//',\r
-               _ary, ary, i = 0;\r
-\r
-       if( 'http:file:https:'.indexOf( path.substr( 0, 4 ) ) !== -1 ) return path;\r
-       \r
-       _ary = X.Dom.baseURL.split( ss );\r
-       ary  = _ary[ 1 ].split( s );\r
-\r
-       if( path.charAt( 0 ) === s ) return [ _ary[ 0 ], ss, ary[ 0 ], path ].join( '' );\r
-               \r
-       if( path.substr( 0, 2 ) === './' ){\r
-               path = path.substr( 2 );\r
-       } else {\r
-               while( path.substr( i, 3 ) === '../' ){\r
-                       --ary.length;\r
-                       i += 3;\r
-               };\r
-               if( i ) path = path.substr( i );\r
-       };\r
-       return [ _ary[ 0 ], ss, ary.join( s ), s, path ].join( '' );\r
-};\r
-\r
 if( window[ 'orientation' ] !== undefined ){\r
        X.Dom._orientationchange = function( e ){\r
                X.Dom._orientationFlag = true;\r
@@ -443,5 +324,4 @@ if( window[ 'orientation' ] !== undefined ){
        };\r
 };\r
 \r
-\r
-console.log( 'X.Dom dom:w3c=' + X.Dom.DOM_W3C + ' ev:w3c=' + X.Dom.EVENT_W3C );\r
+console.log( 'X.Dom dom:w3c=' + X_UA_DOM.W3C + ' ev:w3c=' + X_UA_EVENT.W3C );\r