▼Adobe AIRメモ▼
DOM操作とJavaScriptからのイベント処理


DOM操作とJavaScriptからのイベント処理を行うプログラムを作成する。

リソース
test.html
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <script type="text/javascript">
        //変数の例
        var num=100;
        
        //関数の例
        function test() {
            return "OK.";
        }                        
    </script>
</head>
<body>
    <p id="divInfo">情報</p><br>
    <a href="#" id="aLink">テストリンク</a>
</body>
</html>


ソースコード
DOMControlEx.as
package {
    import flash.display.*;
    import flash.events.*;
    import flash.net.*;
    import flash.html.*;

    //HTMLの表示とDOMの操作
    public class DOMControlEx extends Sprite {
        private var htmlControl:HTMLLoader;//HTMLコントロール
        
        //コンストラクタ
        public function DOMControlEx() {
            //HTMLコントロールの生成
            htmlControl=new HTMLLoader();
            htmlControl.width =stage.stageWidth;
            htmlControl.height=stage.stageHeight;
            htmlControl.addEventListener(Event.COMPLETE,onComplete);
            addChild(htmlControl);
            htmlControl.load(new URLRequest("app:/test.html"));            
        }
        
        //HTML読み込み完了イベントの処理
        private function onComplete(e:Event):void {
            var result:String="DOMConsoleEx<br><br>";

            //DOMの変数「num」にアクセス
            result+="num:"+htmlControl.window.num+"<br>";
            
            //DOMの関数「test」にアクセス
            result+="text():"+htmlControl.window.test()+"<br>";

            //DOMの要素を操作           
            htmlControl.window.document.
                getElementById("divInfo").innerHTML=result;
            
            //JavaScriptイベントの関連付け
            htmlControl.window.document.
                getElementById("aLink").onclick=onClick;
        }        
        
        //リンククリックイベントの処理
        private function onClick(a:int):void {
            htmlControl.window.document.
                getElementById("divInfo").innerHTML+="テストリンクをクリック<br>"
        }
    }
}




−戻る−