gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 06:57:29 24 4
gpt4 key购买 nike

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

}
}
}

最佳答案

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

var ua = navigator.userAgent;
那么您应该能够访问您所追求的属性以捕捉正在使用网页的内容。您还可以更新您的控制流以首先检查移动设备,因为您很早就设置了该 bool 值。如果它不是移动的,那么跳到你的其他代码位。这样的事情应该会有所帮助:
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
}
}

关于javascript - 如何同时检测浏览器和移动设备? JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59636094/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com