2012-06-28 42 views
2

我正在尋找一種方法來爲Internet Explorer中的Flex應用程序動態設置窗口標題。最好的方法是從actionscript調用javascript來通過「ExternalInterface」設置窗口標題。 ExternalInterface.call(「eval(window.document.title ='New Title')」); ExternalInterface.call(「alert」,「Hello ExternalInterface」);通過Flex-Actionscript更改Internet Explorer中的窗口標題

這在IE以外的瀏覽器中工作正常,甚至在通過html包裝器訪問Flex應用程序的swf文件時也可以在IE中使用。

TTP://本地主機:8080/ChangeTitle/ChangeTitle.html

不過,我需要從瀏覽器直接訪問的.swf .. TTP://本地主機:8080/ChangeTitle/ChangeTitle.swf

這將導致外部接口調用更改窗口標題不起作用,但警報仍顯示。

所以問題是......爲什麼我不使用html包裝?答案是:因爲該項目是專門設置的,以避免使用html包裝。

這是關係到一個已知的IE錯誤 - http://bugs.adobe.com/jira/browse/FP-240

如果任何人都可以提出一個解決這個問題,將不勝感激。

謝謝

+0

你對'html wrapper'有什麼意思? – RIAstar

回答

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

相關問題