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 コンテンツのブラウザー形式のユーザーインターフェイスの定義
を参照してください。