0

アクションスクリプトから ExtJS 関数を呼び出すことは可能でしょうか?
たとえば、ExtJS で次のコードを記述しています。

Ext.define('utils', {
    singleton : true,
    alert : function (message) {
            Ext.MessageBox.alert(Ext.locale.error, message);
    }
});  

アクションスクリプト内から呼び出すことはできますか? を使用してプレーンな Java スクリプト関数を呼び出すことができることは知っていますがExternalInterface()、私には適していません。

よろしくお願いします。

4

2 に答える 2

1

Extjs についてはわかりませんが、ドキュメントには、Applicationクラスがアプリの名前でグローバル変数を設定すると記載されています。そのクラスに public メソッドを追加すると、Flash と JavaScript 間の通信の標準的な方法である( docsExternalInterfaceを参照)を使用して Flash から呼び出すことができるはずです。

Extjs:

Ext.application({
    name: 'MyApp',
    launch: function() {
        Ext.create('Ext.container.Viewport', {
            items: {
                html: 'My App'
            }
        });
    },
    // Public method to receive external interface calls from Flash
    alert: function(message) {
        // Call alert method on utils
    }
});

アクションスクリプト:

ExternalInterface.call('myApp.alert', 'Hello JavaScript. Love from Flash');   
于 2013-05-20T13:22:36.640 に答える
1

ExternalInterface メソッドの詳細はわかりませんが、Ext.define を使用すると、特定のメソッドで javascript オブジェクト (シングルトンであるため) を定義するだけです。したがって、JavaScriptでは、単に呼び出すことができます

utils.alert('Hello World');

したがって、次の単純な呼び出しを使用することはできないはずです

ExternalInterface.call('utils.alert', 'Hello World');
于 2013-05-20T21:15:16.323 に答える