TLDR;

我可以通过全屏API检测浏览器是否已进入全屏状态,但是无法通过f11或浏览器菜单(特别是chrome)检测到浏览器已进入全屏状态。

原版的:

目前,我正在使用screenfull进入全屏模式,并检测到浏览器处于全屏模式。问题是当浏览器通过浏览器功能进入全屏状态(即f11或通过浏览器菜单全屏显示)时,我不想显示全屏切换按钮。这是因为javascript全屏API似乎无法检测到您处于全屏状态,或者您无法通过浏览器功能进入全屏状态。我只能检测是否击中了f11,但这不适用于Mac或通过浏览器菜单启动全屏显示的情况。

关于如何检测是否通过浏览器功能启动全屏的任何想法?我只针对与webgl兼容的浏览器,这样可以减少很多麻烦。

最佳答案

我尚未测试其可靠性,但这是我的责任。

  //without jQuery
window.addEventListener('resize', function(){
  if(screen.width === window.innerWidth){
   // this is full screen
  }
});


  //with jQuery
$(document).ready(function() {
  $(window).on('resize', function(){
    if(screen.width === window.innerWidth){
      // this is full screen
    }
  });
});

按下F11按钮和其他方法时,这似乎可行,因此它应该可以捕获全屏api无法解决的情况。尽管我不确定screen.width与window.innerWidth的比较是检查全屏的可靠方法。也许其他人可以对此进行评论。

关于javascript - 如何检测浏览器已进入全屏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34422052/

10-13 23:24