在JavaScript中的onClick
侦听器中,我通过ExternalInterface
调用Flash方法,尝试显示文件保存对话框。但是:
Error: Error #2176: Certain actions, such as those that display a pop-up window, may only be invoked upon user interaction, for example by a mouse click or button press.
at flash.net::FileReference/_save()
at flash.net::FileReference/save()
at <my code>
at Function/http://adobe.com/AS3/2006/builtin::apply()
at flash.external::ExternalInterface$/_callIn()
at Function/<anonymous>()
有什么方法可以让它发挥作用吗?也许我可以设置安全策略,或让用户批准?我不想在Flash中实现整个按钮。
答案 0 :(得分:1)
不幸的是,即使是为了响应浏览器中的某些用户互动,也无法通过FileReference.save()
致电FileReference.browse()
或ExternalInterface
。这些函数仅允许响应Flash Player本身中的直接用户交互事件。 Flash Player 10中添加了这些安全限制。您可以阅读有关它们的更多信息here。
因此,您必须直接在Flash影片中使用按钮。或者,您可以尝试在HTML按钮上放置一个隐藏的Flash按钮以捕获鼠标。