您可以建立 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 內容定義類似瀏覽器的使用者介面
。