<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="init()" width="900" height="700" viewSourceURL="srcview/index.html">
<mx:Panel x="0" y="0" width="100%" height="100%" layout="absolute" id="myPanel">
<mx:TabNavigator x="0" y="70" width="100%" height="90%" id="myTvn" backgroundColor="#a6e6f4">
<mx:Canvas label="タブ" width="100%" height="100%" id="myCvs">
<mx:HTML x="10" y="49" width="95%" height="100%" name="html" id="myHtml" location="http://www.google.com" complete="change(event)"/>
</mx:Canvas>
</mx:TabNavigator>
<mx:Button x="0" y="10" label="Tab追加" click="makeTab()"/>
<mx:Button x="76" y="10" label="Tab削除" click="deleteTab()"/>
<mx:TextInput x="111" y="40" width="400" enter="urlInputEnter()" id="urlInput"/>
<mx:Button x="519" y="40" label="Go" click="urlInputEnter()"/>
<mx:Button x="0" y="40" label="進む" click="forward()"/>
<mx:Button x="56" y="40" label="戻る" click="back()"/>
</mx:Panel>
<mx:Script>
<![CDATA[
import mx.events.ResizeEvent;
import mx.containers.Canvas;
import mx.containers.TabNavigator;
import flash.html.*;
private function init():void{
this.addEventListener(ResizeEvent.RESIZE, resize); }
private function change(event:Event):void{
var html:HTML = event.target as HTML;
var cnv:Canvas = html.parent as Canvas;
if(html.historyLength >= 1)
cnv.label = html.getHistoryAt(html.historyPosition).title; }
private function urlInputEnter():void{
var html:HTML = (myTvn.selectedChild as Canvas).getChildByName("html") as HTML;
html.location = urlInput.text;
html.reload();
}
private function makeTab():void{
var cvs:Canvas = new Canvas(); cvs.label = "タブ";
cvs.name = "tab";
cvs.width = myCvs.width;
cvs.height = myCvs.height;
var html:HTML = new HTML(); html.name = "html";
html.x = myHtml.x;
html.y = myHtml.y;
html.width = myHtml.width;
html.height = myHtml.height;
html.location="http://www.google.com";
html.addEventListener(Event.COMPLETE, change); cvs.addChild(html); myTvn.addChild(cvs); }
private function deleteTab():void{
myTvn.removeChildAt(myTvn.selectedIndex); }
private function forward():void{
((myTvn.selectedChild as Canvas).getChildByName("html") as HTML).historyForward();
}
private function back():void{
((myTvn.selectedChild as Canvas).getChildByName("html") as HTML).historyBack();
}
private function resize(event:ResizeEvent):void{
for each(var cvs:Canvas in myTvn.getChildren()){
if(cvs.id != "myCvs"){
cvs.width = stage.width;
cvs.height = stage.height;
cvs.getChildByName("html").width = stage.width - 50;
cvs.getChildByName("html").height = stage.height - 300;
}
}
}
]]>
</mx:Script>
</mx:WindowedApplication>