1

在 JavaScript 的侦听器中,我通过尝试显示文件保存对话框onClick调用 Flash 方法。ExternalInterface然而:

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 中实现整个按钮。

4

1 回答 1

1

不幸的是,即使响应浏览器中的某些用户交互,也无法调用FileReference.save()FileReference.browse()通过。ExternalInterface这些函数仅在响应 Flash Player 本身中的直接用户交互事件时才允许使用。这些安全限制是在 Flash Player 10 中添加的。您可以在此处阅读有关它们的更多信息。

因此,您不得不直接在 Flash 影片中使用按钮。或者,您可以尝试在 HTML 按钮上放置一个隐藏的 Flash 按钮以捕捉鼠标点击。

于 2013-03-18T19:47:43.883 回答