繁体   English   中英

从动作脚本中调用ExtJS函数

[英]Call ExtJS functions from action script

我想知道是否可以从动作脚本中调用ExtJS函数?
例如,我们在ExtJS上编写了以下代码:

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

可以从动作脚本中调用吗? 我知道可以使用ExternalInterface()调用普通的java脚本函数,但它不适合我。

在此先感谢您的帮助!

我不知道Extjs,但是文档声明Application类设置了一个带有应用程序名称的全局变量。 如果向该类添加公共方法,则应该能够使用ExternalInterface从Flash中调用它(请参阅docs ),这是在Flash和JavaScript之间进行通信的标准方法。

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');   

我不太详细地了解ExternalInterface方法,但是使用Ext.define只需使用给定的方法定义一个javascript对象(因为它是一个单例)。 所以在javascript中你可以简单地打电话

utils.alert('Hello World');

所以不应该使用以下简单的调用

ExternalInterface.call('utils.alert', 'Hello World');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM