(AIR のみ)
パッケージflash.html
クラスpublic class HTMLHost
継承HTMLHost Inheritance Object

ランタイムバージョン: AIR 1.0

HTMLHost オブジェクトは HTML ページの window オブジェクトで各種プロパティの設定または各種メソッドの呼び出しを行うことにより制御可能なユーザーインターフェイスエレメントに対する HTMLLoader オブジェクトの動作を制御します。このようなメソッドおよびプロパティには、次のようなものがあります。

HTMLHost クラスのメソッドを使用して、window の各設定を変更することができます。このクラスを使用するには、HTMLHost クラス (サブクラス) を拡張する新しいクラスを作成し、動作を定義する対象となるメソッドをオーバーライドします。HTMLHost クラスのメソッドは、JavaScript のプロパティおよびメソッドを次のように処理します。

JavaScript のプロパティまたはメソッドHTMLHost メソッド
window.blur() windowBlur()
window.focus() windowFocus
window.location updateLocation
window.close() windowClose
window.open() createWindow
window.status updateStatus
window.document.title updateTitle

window.moveBy()window.moveTo()window.resizeBy() および window.resizeTo() の各メソッドの変更に応答するには、HTMLHost のサブクラス内で set windowRect() メソッドをオーバーライドします。

各 HTMLHost オブジェクトに関連付けることができるのは、1 つの HTMLLoader オブジェクトまでです。この関連付けは、 インスタンスを HTMLLoader オブジェクトの htmlHosthtmlHost プロパティに割り当てることにより確立されます。null を HTMLLoader オブジェクトの htmlHost プロパティに割り当てるまたは オブジェクトを別の HTMLLoader オブジェクトの htmlHosthtmlHost プロパティとして設定すると、HTMLHost は最初の HTMLLoader オブジェクトから削除されます。

例を表示

関連項目

HTMLLoader
HTMLWindowCreateOptions


パブリックプロパティ
 プロパティ定義元
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  AIR-only htmlLoader : HTMLLoader
[読み取り専用] この HostControl オブジェクトが適用される HTMLLoader オブジェクトです。
HTMLHost
 Inheritedprototype : Object
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  AIR-only windowRect : Rectangle
HTMLLoader オブジェクト内の JavaScript コードが、window.moveBy()、window.moveTo()、window.resizeBy() または window.resizeTo() の各メソッドの呼び出しを行うときに変更されるプロパティです。
HTMLHost
パブリックメソッド
 メソッド定義元
  
AIR-only HTMLHost(defaultBehaviors:Boolean = true)
HTMLHost オブジェクトを作成します。
HTMLHost
  
HTMLLoader オブジェクト内の JavaScript コードが window.open() メソッドを呼び出すときに、呼び出される関数です。
HTMLHost
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
  
AIR-only updateLocation(locationURL:String):void
HTMLLoader オブジェクト内の JavaScript コードが window.location プロパティを設定するときに、呼び出される関数です。
HTMLHost
  
HTMLLoader オブジェクト内の JavaScript コードが window.status プロパティを設定するときに、呼び出される関数です。
HTMLHost
  
HTMLLoader オブジェクト内の JavaScript コードが window.document.title プロパティを設定するとき、または DOM か新しいページのロードにより title エレメントが変更されるときに、呼び出される関数です。
HTMLHost
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
  
HTMLLoader オブジェクト内の JavaScript コードが window.blur() メソッドを呼び出すときに、呼び出される関数です。
HTMLHost
  
HTMLLoader オブジェクト内の JavaScript コードが window.close() メソッドを呼び出すときに、呼び出される関数です。
HTMLHost
  
HTMLLoader オブジェクト内の JavaScript コードが window.focus() メソッドを呼び出すときに、呼び出される関数です。
HTMLHost
プロパティの詳細
AIR-only htmlLoaderプロパティ
htmlLoader:HTMLLoader  [読み取り専用]

ランタイムバージョン: AIR 1.0

この HostControl オブジェクトが適用される HTMLLoader オブジェクトです。その HTMLLoader オブジェクトの htmlHost プロパティは、この HostControl オブジェクトに設定されます。



実装
    public function get htmlLoader():HTMLLoader

関連項目

AIR-only windowRectプロパティ 
windowRect:Rectangle

ランタイムバージョン: AIR 1.0

HTMLLoader オブジェクト内の JavaScript コードが、window.moveBy()window.moveTo()window.resizeBy()window.resizeTo() の各メソッドの呼び出しを行うときに変更されるプロパティです。

HTMLHost のサブクラスで set windowRect() メソッドをオーバーライドし、必要に応じて新しいウィンドウの境界を処理します。



実装
    public function get windowRect():Rectangle
    public function set windowRect(value:Rectangle):void
コンストラクタの詳細
AIR-only HTMLHost()コンストラクタ
public function HTMLHost(defaultBehaviors:Boolean = true)

ランタイムバージョン: AIR 1.0

HTMLHost オブジェクトを作成します。

パラメータ
defaultBehaviors:Boolean (default = true) — ルートコンテンツの動作をデフォルトで設定するかどうかを指定します。
メソッドの詳細
AIR-only createWindow()メソッド
public function createWindow(windowCreateOptions:HTMLWindowCreateOptions):HTMLLoader

ランタイムバージョン: AIR 1.0

HTMLLoader オブジェクト内の JavaScript コードが window.open() メソッドを呼び出すときに、呼び出される関数です。

デフォルトでは、HTMLLoader の HTML ページ内の window.open() の JavaScript 呼び出しでは、実行時に新しい NativeWindow オブジェクトは開きません。実行時に、HTMLHost クラスのサブクラスでオーバーライドする createWindow メソッド内で NativeWindow オブジェクトを作成して、新しい NativeWindow オブジェクトを開くことができます。

パラメータ

windowCreateOptions:HTMLWindowCreateOptionsfeatures パラメータ(window.open() () の呼び出しに使用されるパラメータ)として渡されるストリング内のプロパティを含むオブジェクトです。

戻り値
HTMLLoader — 新しい HTML ページを格納する HTMLLoader オブジェクトです。通常、このメソッドにより新しい HTMLLoader オブジェクトを作成し、新しい NativeWindow オブジェクトのステージに追加した後、返します。
AIR-only updateLocation()メソッド 
public function updateLocation(locationURL:String):void

ランタイムバージョン: AIR 1.0

HTMLLoader オブジェクト内の JavaScript コードが window.location プロパティを設定するときに、呼び出される関数です。

パラメータ

locationURL:Stringlocation プロパティ(HTMLLoader オブジェクトの window プロパティのプロパティ)に設定される値です。

AIR-only updateStatus()メソッド 
public function updateStatus(status:String):void

ランタイムバージョン: AIR 1.0

HTMLLoader オブジェクト内の JavaScript コードが window.status プロパティを設定するときに、呼び出される関数です。

パラメータ

status:Stringstatus プロパティ(HTMLLoader オブジェクトの window プロパティのプロパティ)に設定される値です。

AIR-only updateTitle()メソッド 
public function updateTitle(title:String):void

ランタイムバージョン: AIR 1.0

HTMLLoader オブジェクト内の JavaScript コードが window.document.title プロパティを設定するときまたは DOM か新しいページのロードにより title エレメントが変更されるときに、呼び出される関数です。

パラメータ

title:String — HTMLLoader オブジェクトの window.document.title プロパティに設定される値です。

AIR-only windowBlur()メソッド 
public function windowBlur():void

ランタイムバージョン: AIR 1.0

HTMLLoader オブジェクト内の JavaScript コードが window.blur() メソッドを呼び出すときに、呼び出される関数です。

AIR-only windowClose()メソッド 
public function windowClose():void

ランタイムバージョン: AIR 1.0

HTMLLoader オブジェクト内の JavaScript コードが window.close() メソッドを呼び出すときに、呼び出される関数です。

デフォルトでは、HTMLLoader オブジェクトの HTML ページ内の window.close() の JavaScript 呼び出しを実行すると、HTMLLoader オブジェクトが格納されているウィンドウが閉じます。

AIR-only windowFocus()メソッド 
public function windowFocus():void

ランタイムバージョン: AIR 1.0

HTMLLoader オブジェクト内の JavaScript コードが window.focus() メソッドを呼び出すときに、呼び出される関数です。

例の使用法
HTMLHost.1.as

次のコードは、HTMLHost のサブクラスとして CustomHost を定義します。CustomHost クラスのメソッドは、HTMLHost クラス内の継承されたメソッドをオーバーライドし、HTMLLoader ページ内の JavaScript コード が各種プロパティを設定するとき、または window オブジェクトの各種メソッドを呼び出すときに実行するアクションを定義します。
package
{
    import flash.html.HTMLHost;
    import flash.html.HTMLLoader;
    import flash.display.NativeWindow;
    import flash.display.NativeWindowInitOptions;
    import flash.display.StageScaleMode;
    import flash.geom.Rectangle;
    import flash.text.TextField;

    public class CustomHost extends HTMLHost
    {
        import flash.html.*;
        public var statusField:TextField;
        public function CustomHost(defaultBehaviors:Boolean=true)
        {
            super(defaultBehaviors);
        }
        override public function windowClose():void
        {
            htmlLoader.stage.window.close();
        }
        override public function createWindow(windowCreateOptions:HTMLWindowCreateOptions):HTMLLoader
        {
            var initOptions:NativeWindowInitOptions = new NativeWindowInitOptions();
            var window:NativeWindow = new NativeWindow(initOptions);
            window.visible = true;
            var htmlLoader2:HTMLLoader = new HTMLLoader();
            htmlLoader2.width = window.width;
            htmlLoader2.height = window.height;
            window.stage.scaleMode = StageScaleMode.NO_SCALE;
            window.stage.addChild(htmlLoader2);
            return htmlLoader2;
        }
        override public function updateLocation(locationURL:String):void
        {
            trace(locationURL);
        }        
        override public function set windowRect(value:Rectangle):void
        {
            htmlLoader.stage.nativeWindow.bounds = value;
        }
        override public function updateStatus(status:String):void
        {
            statusField.text = status;
        }        
        override public function updateTitle(title:String):void
        {
            htmlLoader.stage.nativeWindow.title = title + "- Example Application";
        }
        override public function windowBlur():void
        {
            htmlLoader.alpha = 0.5;
        }
        override public function windowFocus():void
        {
            htmlLoader.alpha = 1;
        }
    }
}
次のクラスを作成します。このクラスは、statusBar という名前の TextField オブジェクトだけでなく、HTMLLoader オブジェクトもステージに追加します。 HTMLLoader オブジェクトは、CustomHost オブジェクトを自身の htmlHost プロパティとして定義します。
package
 {
     import flash.display.Sprite;
 
     public class SimpleHTMLBox extends Sprite
     {
         import mx.controls.HTML;
         import flash.html.HTMLLoader;
         import flash.text.TextField;
         import flash.net.URLRequest;
         import CustomHost;
         private var host:CustomHost;
         private var statusField:TextField;
         private var html:HTMLLoader;
         
         public function SimpleHTMLBox()
         {
             html = new HTMLLoader();
             var url:String = "Test.html";
             var urlReq:URLRequest = new URLRequest(url); 
             html.load(urlReq);
             
             host = new CustomHost();
             html.htmlHost = host;
             statusField = new TextField();
             host.statusField = statusField;
             
             configureUI();
         }
         private function configureUI():void
         {
             html.width = 400;
             html.height = 200;
             statusField.width = 400;
             statusField.height = 24;
             statusField.border = true;
             statusField.y = 200;
             
             addChild(html);
             addChild(statusField);                
         }
         
     }
 }

このクラスで定義されるオブジェクトをメインウィンドウのステージに追加する AIR アプリケーションを構築します。

アプリケーションリソースディレクトリ (アプリケーション記述ファイルが格納されているディレクトリ) に Test.html という名前の HTML ページを作成し、次のコンテンツを追加します。

<html>
     <head>
         <title>Test</title>
     </head>
     <body>
         <a href="#" onclick="window.open('Test.html')">window.open('Test.html')</a>
         <br/><a href="#" onclick="window.document.location = 'www.adobe.com'">window.document.location = 'www.adobe.com'</a>
         <br/><a href="#" onclick="window.moveBy(6, 12)">moveBy(6, 12)</a>
         <br/><a href="#" onclick="window.close()">window.close()</a>
         <br/><a href="#" onclick="window.blur()">window.blur()</a>
         <br/><a href="#" onclick="window.focus()">window.focus()</a>
         <br/><a href="#" onclick="window.status = new Date().toString()">window.status = new Date().toString()</a>
     </body>
 </html>

アプリケーションのテストが実行されると、HTML ページ内にあるユーザーインターフェイス関連の JavaScript 設定は、CustomHost クラスによって処理されます。





 

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/flash/html/HTMLHost.html