【问题标题】:Is possible automatic fullscreen with html5?html5可以自动全屏吗?
【发布时间】:2012-07-19 01:26:12
【问题描述】:

我基于 Using the Fullscreen API in web browsers (http://hacks.mozilla.org/2012/01/using-the-fullscreen-api-in-web-browsers ) for fullscreen ,但仅适用带有点击事件或控制台萤火虫,而不是提交事件或鼠标悬停或类似的自动。是否可以在没有点击事件或类似事件的情况下使用 html5 自动全屏?

编辑:如果不可能的话,我理解安全性和可访问性的原因,但在某些环境中这可能是有希望的。

【问题讨论】:

  • 我们在 1998 年遇到过这种情况,当时弹出窗口创建的窗口比屏幕还大。如果浏览器不能做到这一点,那将是非常好的,除非有有意的人工输入。
  • 阅读the comment explaining怎么样? "全屏请求仅在用户生成的事件处理程序(鼠标单击和按键处理程序)中被授予。这样用户可以控制网站何时进入全屏,也有助于防止网络钓鱼攻击。 "
  • 在 SO 上也得到了回答:stackoverflow.com/a/9747340/215042
  • 列出了这个问题的更多重复项here

标签: javascript jquery html fullscreen


【解决方案1】:

不,这是不可能的 - 出于安全原因,访问全屏需要用户的“许可”,因此与浏览器输入事件相关。

【讨论】:

  • 防止弹窗打开的机制是一样的;用户必须单击一个按钮才能打开一个弹出窗口,否则弹出窗口阻止程序将阻止它。然而,Facebook 在上传视频时(在 Chrome 中)有一个巧妙的小解决方案:它会在屏幕上显示一个框,上面写着“Facebook 需要打开一个新窗口来上传你的视频”,并带有一个 OK 按钮,它会打开单击时的新窗口。您可以通过显示一条消息“我们需要全屏显示才能继续”以及将页面置于全屏并删除该消息的 OK 按钮来实现类似的解决方案。
【解决方案2】:

不,这是不可能的。出于安全考虑,requestFullScreen() 必须由直接用户操作(如单击)触发。这与弹出窗口相同。

阅读https://wiki.mozilla.org/Security/Reviews/Firefox10/CodeEditor/FullScreenAPIhttps://wiki.mozilla.org/Gecko:FullScreenAPI 以供参考。

【讨论】:

  • 我什至从事件处理程序调用的回调(从...的回调中的回调)进入全屏时遇到问题。棘手!
猜你喜欢
  • 2011-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多