2012-04-26 18 views
0

私は別のWebアプリケーション(JavaScriptで書かれている)でiframeとして実行されているExtjs 4アプリを持っています。私は何とかイベントを外部的にに発射し、それをフレームワークにキャッチしたいと思います。 つまり、私はエミュレートしたいですExtjs 4外部イベント処理

this.application.fireEvent('myevent', myparams); 

私は現在回避策があります。私の外部アプリでは、私は次のようなことをすることができます。

var w = document.getElementById('myIFRAME').contentWindow; 
if (w) { 
    w._myFunctionInExtjs(myParam); 
} 

...私のExtコードで宣言されたグローバル関数を呼び出します。それはExtイベントを介して行われている場合は、多くのクリーナーだろうので、任意の助けに感謝します。

答えて

0

私は回避策を使用して終了し、1つのグローバル機能を作成しました。それはすべてExtイベントを発生させます。

// global function that is used for triggering Ext events 
function _appFireEvent(eventName, objParam) { 
    _extApp.fireEvent(eventName, objParam);  
} 

さて、私の外部のサイトから、私はそれを呼び出すと、私は上げたいイベント、それを伝えることができます:

var w = document.getElementById('myIFRAME').contentWindow; 
if (w) w._appFireEvent('mycustomevent', myparam); 

が、これは誰かに役立ちます願っています。

0

これを行う簡単な方法はありません。あなたの回避策を使用することが私が考えることができる最高のオプションです。