カスタム検索

2009年1月27日火曜日

Air(Flex)か〜ら〜のHTMLか〜ら〜のJavascript

AirのHTMLタグから、パッケージに含んだファイル(とかローカルファイルとか)を読み込む方法

  1. var file:File = new File("app:/html/index.html");  
  2. var src = new File(file.nativePath).url;  
  3. html.location=src;  
  4.   
  5. <mx:HTML id="html" />  


パッケージ内にあるJavaScriptは相対パスで読めます。
HTMLとinclude.jsが同じ場所にあるとすれば以下のように。
  1. <script src="include.js"></script>  


JavaScriptが全然別のドメインとかでもひっぱてきて使えちゃいますよ。
  1. <script src="http://hoge.jp/outer.js"></script>  

なんでJavaScriptのコアをどっかにおいておけばアプリ本体を更新せずにサーバのJSを置き換えて更新も出来ちゃう。

でもってAirからHTMLでロードした中のJavaScriptの実行方法
htmlのcompleteイベントからdomを取得出来るので、、、
  1. private function loadCompleteHandler(e:Event):void {  
  2.  dom=e.currentTarget.domWindow;          
  3. }  
  4. <mx:HTML id="html" location="{src}" width="100%" height="100%" complete="loadCompleteHandler(event)" />  


domの直下にスクリプトがバインドされているので、それを実行すればオッケィ

html.functionName();

1 件のコメント:

tamata さんのコメント...

なるほど〜