0

別の Web アプリ (Javascript で記述) で iframe として実行されている Extjs 4 アプリがあります。どうにかして外部でイベントを発生させ、フレームワークでキャッチしたいと思います。つまり真似したい

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

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

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

...Ext コードで宣言されたグローバル関数を呼び出します。ただし、Ext イベントを介して行うと、はるかにクリーンになるので、助けていただければ幸いです。

4

2 に答える 2

0

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

于 2012-04-27T12:15:14.050 に答える
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);

これが誰かに役立つことを願っています。

于 2012-04-30T19:21:18.350 に答える