可以通过创建 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 内容定义类似于浏览器的用户界面
。