Skip to main content

Creating subclasses of the HTMLLoader class

You can create a subclass of the HTMLLoader class, to create new behaviors. For example, you can create a subclass that defines default event listeners for HTMLLoader events (such as those events dispatched when HTML is rendered or when the user clicks a link).

The following example extends the HTMLHost class to provide normal behavior when the JavaScript window.open() method is called. The example then defines a subclass of HTMLLoader that uses the custom HTMLHost implementation class:

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

The following defines a subclass of the HTMLLoader class that assigns a MyHTMLHost object to its htmlHost property:

package
{
import flash.html.HTMLLoader;
public class MyHTML extends HTMLLoader
{
public function MyHTML()
{
super();
htmlHost = new MyHTMLHost();
}
}
}

For details on the HTMLHost class and the HTMLLoader.createRootWindow() method used in this example, see Defining browser-like user interfaces for HTML content.