Javascript 如何在移动浏览器中更改方向时隐藏浏览器地址栏?

Javascript 如何在移动浏览器中更改方向时隐藏浏览器地址栏?,javascript,css,video,fullscreen,landscape,Javascript,Css,Video,Fullscreen,Landscape,我在一个网站上嵌入了一段视频,与youtube应用程序在横向模式下全屏显示的行为类似,我想用javascript实现这一点。我知道,出于安全原因,如果不单击按钮,您就不能使用全屏api,您也不能强制隐藏地址栏,但是否有任何解决方法 我发现了这个,并试图在方向改变时启动scrolldown功能,但没有成功。我还将变量更改为较高的超时和较低的位置,并尝试了另一个滚动功能: $('html, body').animate({scrollTop: 100}, 100); 还是没有效果 代码如下: Ja

我在一个网站上嵌入了一段视频,与youtube应用程序在横向模式下全屏显示的行为类似,我想用javascript实现这一点。我知道,出于安全原因,如果不单击按钮,您就不能使用全屏api,您也不能强制隐藏地址栏,但是否有任何解决方法

我发现了这个,并试图在方向改变时启动scrolldown功能,但没有成功。我还将变量更改为较高的超时和较低的位置,并尝试了另一个滚动功能:

$('html, body').animate({scrollTop: 100}, 100);
还是没有效果

代码如下:

Javascript方向更改功能:

updateOrientation: function() {
    orientation = $(window).width() / $(window ).height() < 1 ? 'portrait' : 'landscape';
    var device_width = Math.max(document.documentElement.clientWidth, window.innerWidth || 0),
        device_height = Math.max(document.documentElement.clientHeight, window.innerHeight || 0),
        new_width,
        new_height;
    if(orientation === 'landscape'){
        new_width = device_width;
        new_height = device_height;
        if($('#videoPlayer').length > 0 && $(window).scrollTop() < 50){
            $('html, body').animate({scrollTop: 100}, 100); //this should hide the address bar
        }
    }else{
        //code when switching back to portrait
        ...
    }
    $('#videoPlayer').css({
        'width': new_width,
        'height': new_height
    });
}
@media screen and (orientation:landscape){
   article #videoPlayer{
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height:100vh;
   }
   article #videoPlayer{
      background-color: #000;
   }
   video {
      object-fit: contain;
   }
   body.player_initialized #sticky_navigation{
      display: none;
   }
}
我检查了几个Stackoverflow条目,但没有找到有效的解决方案。有人知道这个问题的答案或者有什么提示吗

编辑:
滚动解决方案似乎适用于移动IOS Safari,但不适用于移动Chrome。

有一个屏幕定向API和一个全屏API,可以协同工作。Safari不支持它,但在大多数Android浏览器中都可以使用:

if('orientation' in screen){
    window.screen.orientation.onchange = function() {
          if (this.type.startsWith('landscape') && document.querySelector('#element').webkitRequestFullScreen) {
            document.querySelector('#element').webkitRequestFullscreen();
          } else {
            if(document.webkitCancelFullScreen){
                document.webkitExitFullscreen();
            }
          }
    }
}

有一个屏幕定向API和一个全屏API,可以协同工作。Safari不支持它,但在大多数Android浏览器中都可以使用:

if('orientation' in screen){
    window.screen.orientation.onchange = function() {
          if (this.type.startsWith('landscape') && document.querySelector('#element').webkitRequestFullScreen) {
            document.querySelector('#element').webkitRequestFullscreen();
          } else {
            if(document.webkitCancelFullScreen){
                document.webkitExitFullscreen();
            }
          }
    }
}