通过Flex-Actionscript在Internet Explorer中更改窗口标题

时间:2012-06-28 18:20:28

标签: flex internet-explorer actionscript

我正在寻找一种在Internet Explorer中为flex应用程序动态设置窗口标题的方法。最好的方法是从actionscript调用javascript,通过“ExternalInterface”设置窗口标题。

ExternalInterface.call(“eval(window.document.title ='New Title')”); ExternalInterface.call(“alert”,“Hello ExternalInterface”);

这在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

如果有人可以就此问题提出解决方法,我们将不胜感激。

由于

1 个答案:

答案 0 :(得分: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