OSDN Git Service

Fix the bug of X.NodeAnime.
[pettanr/clientJs.git] / 0.6.x / js / 01_core / 01_X.js
index 9706243..8f84e89 100644 (file)
@@ -1,28 +1,72 @@
 \r
-if( !window['console'] || ( window.parent && window.parent.log ) ) console = { log : function(a){\r
-       var win, elm;\r
-       //alert(a);\r
-       if( window.parent ){\r
-               elm = parent.document.all ? parent.document.all.log : parent.log || parent.document.getElementById( 'log' );\r
-               elm && ( elm.innerHTML = a + '<br>' + elm.innerHTML );\r
+/**\r
+ * <p>API ドキュメントと併せて、その意図や背景を綴っていく副読本もご覧ください。\r
+ * <a href="http://outcloud.blogspot.jp/p/pettanr-api-docs-supplementary-reader.html">クラウド番外地 &gt; ぺったんR API文書の副読本</a>\r
+ * \r
+ * @example // ライブラリは X という名前空間を使用します。\r
+ * //ショートハンド\r
+ * X( func ) == X.ViewPort[ 'listenOnce' ](X.Event.XDOM_READY, func);\r
+ * X('#mydiv') == X.Doc.find('#mydiv');\r
+ * @namespace X\r
+ */\r
+function X( v ){\r
+       if( X_Type_isFunction( v ) ){\r
+               X[ 'ViewPort' ][ 'listenOnce' ]( X_EVENT_XDOM_READY, v );\r
+       } else\r
+       if( X_shortcutFunction ){\r
+               return X_shortcutFunction.apply( X_shortcutContext || X, arguments );\r
        };\r
-} };\r
+};\r
+\r
+//{+DEV\r
+if( !window['console'] || ( window.parent && window.parent.log ) ){\r
+       console = {\r
+               log : function(a){\r
+                               var elm;\r
+                               //alert(a);\r
+                               if( window.parent ){\r
+                                       elm = parent.document.all ? parent.document.all.log : parent.log || parent.document.getElementById( 'log' );\r
+                                       elm && ( elm.innerHTML = a + '<br>' + elm.innerHTML );\r
+                               };\r
+                       }\r
+       };      \r
+};\r
+\r
+if( !console.dir ) console.dir = function(){};\r
+//+DEV}\r
+\r
+//{-AUDIO\r
+//-AUDIO}\r
 \r
 var undefined,\r
-       X = new Function( 'return X._shortcut && X._shortcut.apply( X._shortcut, arguments )' ),\r
-       X_TEMP = { onSystemReady : [] };\r
+       X_EMPTY_OBJECT = {},\r
+       X_TEMP = { onSystemReady : [] },\r
+       X_emptyFunction = new Function,\r
+       X_shortcutFunction,\r
+       X_shortcutContext;\r
 \r
-X.VERSION = '0.6.89';\r
-               \r
-X.bootTime = + new Date;\r
-               \r
-X.getTime = Date.now ? Date.now : new Function( 'return +new Date' );\r
+/**\r
+ * バージョン文字列:"0.6.xxx"\r
+ * @type {string} */\r
+X[ 'VERSION' ] = '0.6.181';\r
 \r
+/**\r
+ * ブートタイム ms\r
+ * @type {number} */\r
+X[ 'bootTime' ] = + new Date;\r
 \r
-X.emptyFunction = new Function;\r
+/**\r
+ * 空の関数\r
+ * @type {Function} */\r
+X[ 'emptyFunction' ] = X_emptyFunction;\r
 \r
-               // defer の場合もあるので、document.readyState を見る MacIE で false\r
-X.inHead = (function( s ){\r
+/**\r
+ * このscriptはheadタグの中にあるか?\r
+ *  @type {boolean} */\r
+// TODO defer の場合もあるので、document.readyState を見る\r
+// TODO body の有無を見ればOKではないか?\r
+// MacIE で false\r
+X[ 'inHead' ] = (function( s ){\r
        if( !s ) return false;\r
        if( !s.length ) return false; // Safari1.3 312.8 でerror\r
        s = s[ s.length - 1 ];\r