ExternalInterface?

ExternalInterface?を使ってJavaScriptの関数を呼び出す(AS→JS)

ActionScript?

import flash.external.ExternalInterface;

btn.onRelease = function():Void {
    ExternalInterface.call('alert', 'HelloWorld!');
};


ExternalInterface?を使ってJavaScriptの関数を呼び出し、戻り値を取得する(AS→JS→AS)

ActionScript?

btn.onRelease = function():Void {
    var value:String = String(ExternalInterface.call('getHelloWorld'));
    result_text.text = value;
};

JavaScript

function getHelloWorld() {
	return 'HelloWorld';
}


ExternalInterface?を使ってJavaScriptからActionScript?の関数を呼び出す(JS→AS)

JavaScriptのsetResult関数を実行した際に、 ActionScript?内のcallbackHelloWorld?関数を呼び出す。

ActionScript?

import flash.external.ExternalInterface;

function callbackHelloWorld(value:String):Void {
    result_text.text = value;
}

ExternalInterface.addCallback('setResult', this,  callbackHelloWorld);

JavaScript

「flashobj = window.external03;」の external03 は、embedタグの「name="external03"」の部分。

function getHelloWorld() {
	if( navigator.appName.indexOf("Microsoft") != -1 ) {
	  flashobj = window.external03;
	} else	{
	  flashobj = window.document.external03;
	}
	flashobj.setResult("HelloWorld");
}

メモ

addCallback
-methodName = JavaScriptから呼び出す際に使う名前
-instance = 対象のオブジェクト
-method = JavaScriptから呼び出されるActionScript関数

セキュリティの設定

参照:グローバルセキュリティ設定


Comment



Counter: 7238, today: 1, yesterday: 0

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-09-24 (火) 14:56:02 (1369d)