OSDN Git Service

Version 0.6.197, add X.Util.Windfow.
[pettanr/clientJs.git] / 0.6.x / js / 05_util / 01_XNinjaIframe.js
index 702706d..3bd2e4c 100644 (file)
@@ -7,21 +7,40 @@
  * \r
  * @alias X.Util.NinjaIframe\r
  * @class NinjaIframe 隠し iframe 機能を提供します。\r
- * @constructs NinjaIframe\r
  * @extends {Node}\r
  */\r
 var X_NinjaIframe = X[ 'Util' ][ 'NinjaIframe' ] = Node[ 'inherits' ](\r
        'NinjaIframe',\r
+       \r
+       /** @lends NinjaIframe.prototype */\r
        {\r
-               autoRefresh  : 0,\r
+               /* autoRefresh  : 0, */\r
                \r
+               /**\r
+                * iframe の contentWindow\r
+                * @private\r
+                * @type {window} */\r
                _iwin        : null,\r
                \r
+               /**\r
+                * iframe に write する html 文字時列\r
+                * @type {string} */\r
                _contentHTML : '',\r
+               \r
+               /**\r
+                * iframe の name\r
+                * @private\r
+                * @type {string} */\r
                _name        : '',\r
+               \r
+               /**\r
+                * iframe への html 文字列の write が完了した\r
+                * @private\r
+                * @type {string} */\r
                _ready       : false,\r
                \r
                'Constructor' : function( html ){\r
+                       // TODO src も設定可能に\r
                        \r
                        this._name = 'hidden-iframe-' + X_Timer_now();\r
                        // https://github.com/polygonplanet/Pot.js/blob/master/src/Worker.js\r
@@ -59,6 +78,11 @@ var X_NinjaIframe = X[ 'Util' ][ 'NinjaIframe' ] = Node[ 'inherits' ](
                        X_ViewPort[ 'listenOnce' ]( X_EVENT_AFTER_UPDATE, this, X_Util_NinjaIframe_handleEvent );\r
                },\r
                \r
+               /**\r
+                * iframe 内をリフレッシュ、または内容を上書きする\r
+                * @param {string=} opt_contentHTML html文字列\r
+                * @return {NinjaIframe} チェーンメソッド\r
+                */\r
                'refresh' : function( opt_contentHTML ){\r
                        var raw = this[ '_rawObject' ],\r
                                idoc;\r
@@ -82,7 +106,6 @@ var X_NinjaIframe = X[ 'Util' ][ 'NinjaIframe' ] = Node[ 'inherits' ](
 \r
                        if( !( X_UA[ 'IE' ] < 9 ) ){\r
                                X_Util_NinjaIframe_writeToIframe( this );\r
-                               //this._ready = true;\r
                        };\r
                        \r
                        return this;\r
@@ -106,7 +129,6 @@ function X_Util_NinjaIframe_handleEvent( e ){
                        \r
                        if( !( X_UA[ 'IE' ] < 9 ) ){\r
                                X_Util_NinjaIframe_writeToIframe( this );\r
-                               //this._ready = true;\r
                                return;\r
                        };\r
                        //break; これあると IE8 で駄目!\r
@@ -116,7 +138,6 @@ function X_Util_NinjaIframe_handleEvent( e ){
                        // ie9-\r
                        if( !this._ready ){\r
                                X_Util_NinjaIframe_writeToIframe( this );\r
-                               //this._ready = true;\r
                                break;\r
                        };\r
                        // onload\r
@@ -143,7 +164,7 @@ function X_Util_NinjaIframe_writeToIframe( that ){
                idoc = raw.contentDocument || that._iwin.document,\r
                html = that._contentHTML;\r
        \r
-       that._ready = true; // これを削除すると ie6,7,8 で Stack overflow at line : 0 意味不明\r
+       that._ready = true; // これを削除すると ie6,7,8 で Stack overflow at line : 0 意味不明 'readystatechange' が繰り返し起こりループする??\r
        delete that._contentHTML;\r
 \r
        idoc.open();\r