建立 HTMLLoader 類別的子類別

Adobe AIR 1.0 以及更新的版本

您可以建立 HTMLLoader 類別的子類別以建立新行為。舉例而言,您可以建立子類別以定義 HTMLLoader 事件 (例如,當呈現 HTML 時或當使用者按一下連結時,所傳送的事件) 的預設事件偵聽程式。

下列範例會擴充 HTMLHost 類別,以便在呼叫 JavaScript window.open() 方法時提供「一般」行為。接著,這個範例會定義 HTMLLoader 的子類別,這個子類別會使用自訂 HTMLHost 實作類別:

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 
       } 
}

下列程式碼會定義 HTMLLoader 類別的子類別,將 MyHTMLHost 物件指定給這個物件的 htmlHost 屬性:

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 內容定義類似瀏覽器的使用者介面