如何在没有浏览器工具栏的情况下从Flex创建弹出窗口?

时间:2009-08-21 19:37:56

标签: flex popup externalinterface navigatetourl

我正在尝试从Flex启动弹出窗口,但弹出窗口需要具有某些属性,因为通常可以使用JavaScript window.open指定。例如,弹出窗口不应包含浏览器工具栏或URL框。

我尝试过使用navigateToURL,它工作正常,但我找不到指定弹出窗口属性的方法。

我尝试过使用ExternalInterface.call,但直接调用window.open时弹出窗口被阻止,甚至创建一个调用window.open的自定义JS函数。

帮助!

谢谢!

3 个答案:

答案 0 :(得分:1)

我认为甚至不可能在很多浏览器中禁用浏览器工具栏或URL框(我当然不允许在我使用的任何浏览器上使用它)。

如果您正在使用navigateToURL,为什么您打开的页面无法运行JS以尝试禁用工具栏和URL?我想如果你想发送属性,你也可以将属性附加到URL。

答案 1 :(得分:0)

您可以使用Flex的PopUpManager类创建自定义弹出框。

此示例可能对您有所帮助。 Custom PopUp

答案 2 :(得分:0)

查看AndrewT关于检查弹出窗口阻止程序的博客。 如果没有阻止,则使用ExternalInterface;否则使用flex弹出窗口。

Detecting Popup Blockers

或者更好的是,使用SWFAddress v2.3(javascript和AS3)模块。 AS3具有SWFAddress :: popup()外观,代理对javascript的poup调用。您可以修改SWFAdress.js弹出功能以使用Andrew的逻辑并返回状态。这将是一种最佳实践:利用flex中的顶级SWFAddress库进行深层链接,谷歌分析和弹出窗口。