OSDN Git Service

2685af273b62eddff07b83e91714b079f7a5007d
[pettanr/clientJs.git] / 0.6.x / js / 01_core / 01_X.js
1 \r
2 if( !window['console'] || ( window.parent && window.parent.log ) )\r
3         console = { log : function(a){\r
4                 var win, elm;\r
5                 //alert(a);\r
6                 if( window.parent ){\r
7                         elm = parent.document.all ? parent.document.all.log : parent.log || parent.document.getElementById( 'log' );\r
8                         elm && ( elm.innerHTML = a + '<br>' + elm.innerHTML );\r
9                 };\r
10         } };\r
11 \r
12 var undefined,\r
13         X_TEMP = { onSystemReady : [] },\r
14         X_shortcutFunction,\r
15         X_shortcutContext;\r
16 \r
17 function X( v ){\r
18         if( X.Type.isFunction( v ) ){\r
19                 X.ViewPort.listenOnce( X.Event.XDOM_READY, v );\r
20         } else\r
21         if( X_shortcutFunction ){\r
22                 return X_shortcutFunction.apply( X_shortcutContext || X, arguments );\r
23         };\r
24 };\r
25 \r
26 X.VERSION = '0.6.103';\r
27                 \r
28 X.bootTime = + new Date;\r
29 \r
30 X.emptyFunction = new Function;\r
31 \r
32 // TODO defer の場合もあるので、document.readyState を見る\r
33 // MacIE で false\r
34 X.inHead = (function( s ){\r
35         if( !s ) return false;\r
36         if( !s.length ) return false; // Safari1.3 312.8 でerror\r
37         s = s[ s.length - 1 ];\r
38         // Dom0 || Dom1\r
39         s = s.parentElement || s.parentNode || s;// s is for opera7.11\r
40         return s.tagName.toLowerCase() === 'head';// opera7.23 s.tagName is 'HTML'\r
41 })( document.scripts || document.getElementsByTagName && document.getElementsByTagName( 'script' ) || document.all && document.all.tags( 'script' ) );\r
42 \r