创建 HTMLLoader 类的子类

Adobe AIR 1.0 和更高版本

可以通过创建 HTMLLoader 类的子类来创建新行为。例如,可以创建一个用于定义 HTMLLoader 事件(例如在呈现 HTML 或用户单击链接时调度的那些事件)的默认事件侦听器的子类。

以下示例在调用 JavaScript window.open() 方法时,通过扩展 HTMLHost 类来提供 正常 行为。然后,本示例定义使用自定义 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 
       } 
}

下面定义 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 内容定义类似于浏览器的用户界面