我正在尝试从Flex启动弹出窗口,但弹出窗口需要具有某些属性,因为通常可以使用JavaScript window.open指定。例如,弹出窗口不应包含浏览器工具栏或URL框。
我尝试过使用navigateToURL,它工作正常,但我找不到指定弹出窗口属性的方法。
我尝试过使用ExternalInterface.call,但直接调用window.open时弹出窗口被阻止,甚至创建一个调用window.open的自定义JS函数。
帮助!
谢谢!
答案 0 :(得分:1)
我认为甚至不可能在很多浏览器中禁用浏览器工具栏或URL框(我当然不允许在我使用的任何浏览器上使用它)。
如果您正在使用navigateToURL,为什么您打开的页面无法运行JS以尝试禁用工具栏和URL?我想如果你想发送属性,你也可以将属性附加到URL。
答案 1 :(得分:0)
您可以使用Flex的PopUpManager类创建自定义弹出框。
此示例可能对您有所帮助。 Custom PopUp
答案 2 :(得分:0)
查看AndrewT关于检查弹出窗口阻止程序的博客。 如果没有阻止,则使用ExternalInterface;否则使用flex弹出窗口。
或者更好的是,使用SWFAddress v2.3(javascript和AS3)模块。 AS3具有SWFAddress :: popup()外观,代理对javascript的poup调用。您可以修改SWFAdress.js弹出功能以使用Andrew的逻辑并返回状态。这将是一种最佳实践:利用flex中的顶级SWFAddress库进行深层链接,谷歌分析和弹出窗口。