如何同时检测浏览器和移动设备?的JavaScript

我正在尝试使用javascript识别浏览器,因此我可以全屏播放视频或仅显示警报,可以识别chrome和safari,并且在笔记本电脑/台式机上都可以使用,这只是在我尝试识别是否该设备是移动设备,无法正常工作。我没有收到要尝试的警报。我尝试了这个:https://stackoverflow.com/a/3540295。但是我没有运气,除了其他类似的东西(原始答案,因为我不确定正则表达式是什么?):https://stackoverflow.com/a/11381730
我现在有这个。我想使用用户代理,除非有更好的方法。
JS:

function goFullscreen(id) {
  var element = document.getElementById(id); 
  var mobile = /Android|webOS|iPhone|iPad|ipod/i.test(navigator.userAgent);

  if (ua.indexOf('safari') != -1) { 
      if (ua.indexOf('chrome') > -1) {
        if (element.webkitrequestfullscreen) {
            if(mobile) {
                // some code for chrome mobile
                alert("chrome mobile")
            }else{
                //document.getElementById(id).classList.toggle("videoChange")
                alert("chrome desktop")
            }
        }
      } else if (element.msRequestFullscreen) {
            element.msRequestFullscreen(); //edge do somethig else
      } else if (element.mozRequestFullScreen) {
            element.mozRequestFullScreen(); //mozilla do somethig else  
      } else if (element.webkitrequestfullscreen) {
             if(mobile) {
                 // some code for safari mobile
                 alert("safari mobile")
             }else{
                element.webkitrequestfullscreen(); //safari do somethig else
             }

        }
    }
}
yj9981n 回答:如何同时检测浏览器和移动设备?的JavaScript

您应使用导航器对象进行检查。 ua变量未在任何地方定义,因此您将无法访问它。尝试在控件结构或所有if语句之前使用此代码:

var ua = navigator.userAgent;

然后,您应该能够访问所需要的属性,以捕获网页的使用情况。您还可以更新控制流以首先检查移动设备,因为您早就设置了布尔值。如果它不是移动的,则跳到您的其他代码位。这样的事情应该有所帮助:

function goFullscreen(id) {
  var ua = navigator.userAgent;
  var element = document.getElementById(id);
  var isMobile = /Android|webOS|iPhone|iPad|iPod/i.test(ua);

  if (isMobile) {
    // some code for mobile
    alert("on mobile: " + navigator.platform); // display the platform you're on.
  } else if (element.msRequestFullscreen) {
    element.msRequestFullscreen(); //edge do somethig else
  } else if (element.mozRequestFullScreen) {
    element.mozRequestFullScreen(); //mozilla do somethig else  
  } else if (element.webkitRequestFullScreen) {
    element.webkitRequestFullScreen(); //safari do somethig else
  }
}
,

这是ReactJS(仍然是Javascript)的扩展库。您可以在这里找到您的解决方案:)

https://github.com/duskload/react-device-detect

本文链接:https://www.f2er.com/2808205.html

大家都在问