簡體   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