【问题标题】:Flash movie doesn't go fullscreen unless a button is clicked除非单击按钮,否则 Flash 电影不会全屏显示
【发布时间】:2011-07-27 21:54:52
【问题描述】:

我有一部要在信息亭全屏显示的 Flash 电影。此外,它需要在浏览器窗口中运行,因为我正在使用 JavaScript 重新加载页面以重置电影。

问题是,当我将以下行放入构造函数时,它不会全屏显示:

stage.displayState = StageDisplayState.FULL_SCREEN;

但如果我把这条线放到按钮的点击处理程序中,它就可以正常工作。

注意:如果只调用带有空参数的处理函数是行不通的。

如何让它一打开就全屏显示?

【问题讨论】:

  • 如果您正在创建一个自助服务终端应用程序,您可能需要考虑在 AIR 中构建一个独立的应用程序,它不需要用户输入来激活全屏模式以及拥有更丰富的 API 集为了系统可访问性和(通常)整体更好的性能。
  • 为什么需要用js更新页面?
  • 全屏期间需要用户交互,否则将违反安全规定。换句话说,必须在堆栈跟踪中单击鼠标才能使该行代码起作用。
  • 问题出在整个刷新的事情上。我是说。您正在刷新页面,以便电影重新开始。你为什么不直接用动作脚本重置电影?当你第一次启动它时,你只需点击一下。这样,您还可以制作答案中提到的独立 swf 文件。附言。我不知道信息亭是什么
  • 你所有的问题都是可以理解的。但问题是,这部电影是由其他人制作的,并且有一个非常难看的代码。所以我不想在尝试重置时破坏东西。不幸的是,这不是时间线电影。所以我认为如果我将它放在网页上并刷新会很容易。但现在我制作了另一部电影来加载和卸载以完成重置效果。

标签: actionscript-3 fullscreen


【解决方案1】:

由于安全限制,在 HTML 播放器中播放时需要用户输入才能转到全屏。

引用 Adob​​e 文档:

响应鼠标点击或按键启动全屏模式 用户按下;电影不能改变 Stage.displayState 没有 用户输入。 Flash 运行时限制全屏键盘输入 模式。可接受的键包括终止的键盘快捷键 全屏模式和非打印键,如箭头、空格、Shift、 和 Tab 键。终止全屏模式的键盘快捷键是: Escape(Windows、Linux 和 Mac)、Control+W (Windows)、Command+W (Mac) 和 Alt+F4。

如果您在信息亭中运行,请考虑使用没有这些限制的独立 SWF 播放器

【讨论】:

    【解决方案2】:

    简单的回答:你不能。

    the documentation 中所述,您只能更改 displayState 作为对用户交互的反应,即鼠标单击或按键。这是一个可用性功能,我不希望很快改变。

    请注意,此限制仅适用于在浏览器中运行的 SWF 内容。

    【讨论】:

      【解决方案3】:

      我相信答案是“你不能”。出于安全原因,此类操作只能在用户事件上执行。否则,您可能会接管用户的桌面并做各种邪恶的事情,例如显示虚假登录对话框。

      【讨论】:

      • 谢谢,但实际上,我是这里的用户。
      猜你喜欢
      • 1970-01-01
      • 2017-03-11
      • 1970-01-01
      • 2016-10-15
      • 2021-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多