HTMLLoader クラスのサブクラスの作成

Adobe AIR 1.0 およびそれ以降

HTMLLoader クラスのサブクラスを作成して、新しい動作を作成することができます。例えば、HTMLLoader イベント(HTML がレンダリングされるときや、ユーザーがリンクをクリックしたときに発生するイベントなど)のデフォルトのイベントリスナーを定義するサブクラスを作成できます。

次の例では、HTMLHost クラスを拡張して、JavaScript の window.open() メソッドが呼び出されたときの通常の動作を指定します。その後、カスタム HTMLHost 実装クラスを使用する HTMLLoader のサブクラスを定義します。

package 
{ 
       import flash.html.HTMLLoader; 
    public class MyHTMLHost extends HTMLHost 
       { 
           public function MyHTMLHost() 
           { 
               super(false); 
        } 
        override public function createWindow(opts:HTMLWindowCreateOptions):void 
        { 
            var initOptions:NativeWindowInitOptions = new NativeWindowInitOptions(); 
            var bounds:Rectangle = new Rectangle(opts.x, opts.y, opts.width, opts.height); 
            var html:HTMLLoader = HTMLLoader.createRootWindow(true,  
                                                    initOptions,  
                                                    opts.scrollBarsVisible,  
                                                    bounds); 
            html.stage.nativeWindow.orderToFront(); 
            return html 
       } 
}

次の例では、MyHTMLHost オブジェクトを htmlHost プロパティに割り当てる HTMLLoader クラスのサブクラスを定義します。

package 
{ 
       import flash.html.HTMLLoader; 
    import MyHTMLHost; 
    import HTMLLoader; 
       public class MyHTML extends HTMLLoader 
       { 
           public function MyHTML() 
           { 
               super(); 
               htmlHost = new MyHTMLHost(); 
           }     
       } 
}

HTMLHost クラスと、この例で使用されている HTMLLoader.createRootWindow() メソッドついて詳しくは、 HTML コンテンツのブラウザー形式のユーザーインターフェイスの定義 を参照してください。