gpt4 book ai didi

javascript - 移动检测

转载 作者:行者123 更新时间:2023-12-03 00:24:18 25 4
gpt4 key购买 nike

有没有办法使用 Javascript 检测移动设备?另外,我研究了这样一个 XML,其中包含可以帮助识别移动手机的用户代理。

最佳答案

您可能有一个普通网站,并且如果满足某些条件(例如屏幕非常小,或者内容被缩小以适合小型物理设备中的大型“虚拟”屏幕),您希望重定向到移动网站空间。那么,为什么不检查这些条件而不是测试无数的 UA 字符串。

尝试这样的事情:

为了让 UA 报告屏幕的物理像素大小,该标签必须出现在 html 页面中。 *

<meta name="viewport" 
content="width=device-width, initial-scale=1, maximum-scale=1" />

现在,只需获取屏幕的大小并根据需要进行重定向。使用轻微的延迟。 **

setTimeout(function(){
if ((screen.width < 480) || (screen.height < 480)) {
location.replace('/mobile/');
}
}, 100);

差不多就这些了。由于此页面已经为移动设备设置了视口(viewport)标记,因此您也可以执行相反的操作,在此处显示移动设备,如果屏幕更大,则重定向到完整网站。

编辑:我不确定为什么这个问题已被关闭;据我所知它非常适合 SO 格式。投票决定重新开放。

* 使用 javascript 插入它似乎不起作用(如果您找到方法,请纠正我)。如果不存在,手机将报告大于实际屏幕的虚拟屏幕尺寸。它似乎也不适用于 iframe,仅适用于顶级窗口(这是有道理的,因为 iframe 需要与外部窗口缩放相同的量,它们共享相同的视口(viewport))。

** 一些移动浏览器保留上次加载页面的视口(viewport)大小,因此它们会报告大的虚拟屏幕大小几毫秒,直到它们注意到我猜的元标记。我找不到早期的事件来连接这个,如果您有更好的方法,请发表评论。在我的所有测试中,50 毫秒的延迟效果很好,100 毫秒应该是安全的。

关于javascript - 移动检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/743129/

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