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