【发布时间】:2012-01-12 01:26:57
【问题描述】:
我有a website,当通过移动浏览器访问时,它会重定向到a different page。
我一直无法想出一种可靠地检测移动设备的方法。目前,我的 Javascript 代码是这样的:
if (document.documentElement.clientWidth < 680 ||
document.documentElement.clientHeight < 450)
location.href = "handheld.aspx";
如果浏览器大小小于桌面版本支持的大小,则会重定向。这样做的问题是,一些移动浏览器开始缩小并具有与桌面设备相似的浏览器尺寸。
我对此进行了一些研究,主要找到了涉及嗅探用户代理刺痛并根据现有移动设备中的一堆字符串检查它的解决方案。如果可能的话,我想避免这条路线,因为它看起来非常混乱,并且将来新设备问世时会中断。
是否有一种不那么笨拙的方法来检测移动浏览器,或者至少有一种更可靠的方法来检测屏幕尺寸?
【问题讨论】:
-
如果你想测试显示大小,不要测试浏览器的大小,测试屏幕的大小:
window.screen.width。如果您查看相关问题的列表,您会发现以前有人问过这个问题。确保您的手机页面具有返回完整网站的链接(理想情况下,使用 cookie 或其他东西来记住哪些用户返回了完整网站,这样他们就不必每次都手动进行)。 -
为什么要检测“移动浏览器”?您希望解决此类浏览器的哪些功能 - 减小屏幕尺寸? (可能的)触摸界面?带宽有限?
标签: javascript asp.net mobile