【问题标题】:[FireFox][HTML5 FullScreen API] How can I detect whether user clicked 'allow' button and allow full-screen mode[FireFox][HTML5 FullScreen API] 如何检测用户是否点击了“允许”按钮并允许全屏模式
【发布时间】:2013-08-13 09:29:52
【问题描述】:

我正在研究并使用带有 FireFox 的 html5 全屏 API,我有一个名为“SamplePlayer.html”的本地 html 文件。如果我启动此文件并单击“完整”按钮以使一个元素进入全屏模式,例如:

function launchFullScreen (element) {
  if (typeof(element) == "undefined")
    element = document.documentElement;
  if (element.requestFullScreen) {
    element.requestFullScreen();
  } 
  else if (element.mozRequestFullScreen) {
    element.mozRequestFullScreen();
  }
  else if(element.webkitRequestFullScreen) {
    element.webkitRequestFullScreen();
  }
  return true;
}

FireFox 显示一个对话框(可能是其他内容)“按 ESC 退出全屏,允许全屏,允许,拒绝”,我的问题是,我如何检测用户单击“允许”按钮并且此对话框消失?不仅元素进入完整模式,而且对话框仍然存在。

我已经测试过:

 document.addEventListener('webkitfullscreenchange', adjustElement, false); 
 document.addEventListener('mozfullscreenchange', adjustElement, false); 
 document.addEventListener('fullscreenchange', adjustElement, false); 

function adjustElement() {
   //alert("change");
   //var tmp = fullscreenElement();
   var tmp = fullscreen();
   alert(tmp);
 }

 function fullscreenElement() {
   return document.fullscreenElement ||
        document.webkitCurrentFullScreenElement ||
        document.mozFullScreenElement ||
        null;
 }

function fullscreen() {
   return document.fullscreen ||
        document.webkitIsFullScreen ||
        document.mozFullScreen ||
        false;
}

但是当用户请求全屏时,无论用户是否点击了“允许”按钮,所有这些函数都返回 true,我如何检测用户是否点击了“允许”按钮并允许使用 FireFox 进行全屏模式?

【问题讨论】:

    标签: html firefox fullscreen


    【解决方案1】:

    您无法检测到是否单击了“允许”按钮,并且您不应该检测到它或者也不能检测到它。这是用户决策和实施细节。 如果有一些“黑客”来检测它,这将是一个随时可能更改的实现细节,并且很有可能只是为了关闭此信息泄漏而更改。

    您能够检测到并且应该使用的是通过mozfullscreenchange 事件进入/现有的全屏模式状态更改。请参阅Using fullscreen mode 文档。

    【讨论】:

    • 谢谢,这是否意味着,使对话框(可能是别的东西)'按 ESC 退出全屏,允许全屏,允许,拒绝'消失的唯一方法是用户单击按钮,否则对话框存在每时每刻?换句话说,我怎样才能让对话框淡出?用 javascript pr 别的东西?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-07
    • 2021-09-13
    • 1970-01-01
    • 2020-10-22
    • 2011-02-09
    相关资源
    最近更新 更多