2

Internet Explorer でフレックス アプリケーションのウィンドウ タイトルを動的に設定する方法を探しています。これを行う最も良い方法は、actionscript から javascript を呼び出して、「ExternalInterface」を介してウィンドウ タイトルを設定することです。

ExternalInterface.call("eval(window.document.title = '新しいタイトル')"); ExternalInterface.call("alert", "Hello ExternalInterface");

これは IE 以外のブラウザーでも正常に動作し、html ラッパーを介してフレックス アプリケーションの swf ファイルにアクセスする場合でも IE で動作します。

ttp://localhost:8080/ChangeTitle/ ChangeTitle.html

ただし、ブラウザから直接 .swf にアクセスする必要があります. ttp://localhost:8080/ChangeTitle/ ChangeTitle.swf

これにより、外部インターフェイス呼び出しがウィンドウ タイトルを変更して機能しなくなりますが、アラートは引き続き表示されます。

問題は...なぜhtmlラッパーを使用しないのですか? ... 答え: プロジェクトは、html ラッパーの使用を避けるように特別に設定されているためです。

これは既知の IE バグに関連しています - http://bugs.adobe.com/jira/browse/FP-240

誰かがこの問題の回避策を提案できれば、それは大歓迎です。

ありがとう

4

1 に答える 1

5

これにはExternalInterfaceを使用しないでください。BrowserManagerクラスを使用します。最初にタイトルで初期化できます:

var browser:IBrowserManager = BrowserManager.getInstance();
browser.init("", "my title");

後でタイトルを調整できます。

browser.setTitle("my new title");

これを使用し、IEで完全に機能するアプリケーションがいくつかあります(IE6はテストしていませんが)。
このトピックの詳細:http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf64e50-7ff4.html

于 2012-06-28T18:33:43.367 に答える