1

ExternalInterface を使用して JavaScript と通信するフラッシュがあります。これをswiffyを使ってHTML5に変換しました。javascript を使用してフラッシュで作成したメソッドを呼び出すにはどうすればよいですか?

4

3 に答える 3

7

まだ探している人への回答の更新は次のとおりです。現在、Swiffy 5.3 はすでに ExternalInterface をサポートしています。以下を使用して、AS3 から JavaScript 呼び出しを行うことができます。

ExternalInterface.call("jsFunction", args);

js では、「jsFunction」を宣言するだけです。

<script>
    function jsFunction(args) {
       alert("Call from AS3");
    }
</script>

逆方向の場合、Swiffy を介して JS から AS3 への呼び出しは、AS3 でこれを使用して実現できます。

ExternalInterface.addCallback("nameForJS", closeFunction);
function closeFunction(s:String) {
    trace("Received " + s + " from js");
}

JS では、swiffy にタイトな DOM el を取得し、そこから関数を実行する必要があります。

document.getElementById("swiffycontainer").nameForJS();

お役に立てれば!

于 2013-10-10T07:31:26.490 に答える
3

それでも、AS3-to-HTML5-via-Swiffy から JavaScript 関数を呼び出すのは簡単です。

var urlRequest : URLRequest = new URLRequest( "javascript:doRoo();" );
navigateToURL( urlRequest,'_self' );

JavaScript から AS3 pre-swiffy で宣言された関数を呼び出す最良の方法は何ですか? 基本的にはその逆ですか?

于 2013-03-12T19:18:59.517 に答える
3

swiffy のドキュメントによると、ExternalInterface は AS 2.0 または AS 3.0 に対して swiffy によってサポートされていません。

参照してください:

于 2013-02-28T11:17:27.193 に答える