我正在尝试使用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
}
}
}
}
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 } }