如何检测用户是否在使用手机、平板电脑或台式机并重定向
How to detect whether the user is using mobile, tablet or desktop and redirect them?
首先,我知道响应站点是第一位的,但不幸的是,目前这不是一个选择!我也有很强的javascript编码技能。
我需要检测用户是在使用台式机、平板电脑还是手机,并重定向它们。
用户使用桌面-停留在现场(a)。用户使用平板电脑-从a重定向到站点B。用户使用移动重定向从a到站点C。
如果我的屏幕宽度和dpi,是否有可能一些手机和平板电脑被捕获并重定向到桌面版本?
我现在有这个。
<script>
if (navigator.userAgent.match(/Android/i)
|| navigator.userAgent.match(/webOS/i)
|| navigator.userAgent.match(/iPhone/i)
|| navigator.userAgent.match(/iPod/i)
|| navigator.userAgent.match(/BlackBerry/i)
|| navigator.userAgent.match(/Windows Phone/i)
) {
document.location = "B";
} else if (navigator.userAgent.match(/iPad/i)
) {
document.location = "C";
} else {
document.location = "A";
}
</script>
提前感谢您的帮助!
如果不想完全响应,可以通过加载diff.css来显示不同的内容,从而轻松做到这一点。我会使用CSS的@media标签,就像W3School中的伪示例一样
@media screen and (min-width: 480px) {
body {
background-color: lightgreen;
}
}
现在,关于你的问题,通过为手机和平板电脑设置最大屏幕大小一个值,你通常不会遇到台式机/笔记本电脑的宽度捕获问题。排除新款iPad Pro,99%的平板电脑的为10英寸及以下,而手机的则为6英寸及以下
就我个人而言,我不会用js来做这件事,因为它在不需要的地方增加了复杂性。但这篇博客文章可能也有帮助。
您的解决方案看起来不错,只需添加屏幕宽度检查即可,ipad或选项卡的屏幕宽度为970px,移动设备(智能手机)的屏幕宽度是76px,桌面版的屏幕宽度大于970px。
似乎你不能使用媒体查询,因为你想基于设备重定向,否则媒体查询是进行响应设计的最佳方式。
你也可以看看下面的链接。
https://css-tricks.com/snippets/javascript/redirect-mobile-devices/
如果有人感兴趣,我就想出了这个解决方案。到目前为止效果很好。不知道将来使用它是否安全——可能不会。但是,如果你没有其他解决方案,或者无法创建一个有代表性的网站或类似的网站,你可以使用这个。。。
我使用最常见的设备。
if (/iP(hone|od)|android.+mobile|BlackBerry|IEMobile/i.test(navigator.userAgent)) {
window.location.replace("http://mobile");
} else if (/(tablet|ipad|playbook|silk)|(android(?!.*mobile))/i.test(navigator.userAgent)) {
window.location.replace("http://tablet.website.com");
}
- plupload智能手机和平板电脑浏览按钮事件未启动
- 如何让安卓佩戴在手机和平板电脑的应用程序中振动
- 在手机和平板电脑浏览器上播放音频片段
- 图片's的高度与手机/平板电脑的高度相同-只能在Chrome中正常工作
- Angularjs Ionic - 适用于手机和平板电脑的不同布局
- Ajax在台式机上完美运行,但在手机/平板电脑上则不然
- 手机间隙拨号功能在安卓平板电脑上
- OL3 在手机或平板电脑上绘制手绘多边形或线串
- 用户代理手机和平板电脑冲突
- 通过JavaScript检测和区分Android平板电脑和Android手机
- 使用JSON的iPad,平板电脑和手机的图像加载非常缓慢
- 如何在平板电脑和手机的Android设备的方向更改中获得正确的窗口宽度
- Accordian Dropdown不适用于手机/平板电脑
- 生产中手机/平板电脑浏览器上出现奇怪的JS错误
- 使菜单响应-手机/平板电脑大小
- 如何禁用'jQuery UI布局插件'在手机/平板电脑中
- 点击手机/平板电脑,将鼠标悬停在其他设备上(经得起未来考验)
- 根据设备(手机/平板电脑等)控制元素的加载方式
- 条形码扫描在智能手机/平板电脑浏览器的web应用程序
- 浏览器检测-使用javascript检测手机/平板电脑/web客户端