Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否有一种优雅的方式来检测移动浏览器?_Javascript_Asp.net_Mobile - Fatal编程技术网

Javascript 是否有一种优雅的方式来检测移动浏览器?

Javascript 是否有一种优雅的方式来检测移动浏览器?,javascript,asp.net,mobile,Javascript,Asp.net,Mobile,当通过手机浏览器访问时,我可以重定向到它 我一直很难想出一种可靠地检测移动设备的方法。目前,我编写了如下Javascript代码: if (document.documentElement.clientWidth < 680 || document.documentElement.clientHeight < 450) location.href = "handheld.aspx"; if(document.documentElement.clientWidth

当通过手机浏览器访问时,我可以重定向到它

我一直很难想出一种可靠地检测移动设备的方法。目前,我编写了如下Javascript代码:

if (document.documentElement.clientWidth < 680 || 
    document.documentElement.clientHeight < 450) 
  location.href = "handheld.aspx";
if(document.documentElement.clientWidth<680 | |
document.documentElement.clientHeight<450)
location.href=“掌上电脑.aspx”;
如果broswer大小小于桌面版本支持的大小,则会重定向。这方面的问题是,一些移动浏览器开始缩小,并且具有与桌面设备类似的浏览器尺寸

我对此进行了一些研究,我主要找到了一些解决方案,包括嗅探用户代理刺痛,并根据现有移动设备中的一组字符串进行检查。如果可能的话,我想避免这条路线,因为它看起来非常混乱,将来新设备问世时会中断


是否有一种不那么麻烦的方法来检测移动浏览器,或者至少有一种更可靠的方法来检测屏幕大小?

否。你要么要检查屏幕大小,要么要检查用户代理

否。你要么要检查屏幕大小,或者用户代理

您必须决定您最想检测的是移动浏览器的哪个方面。您是否试图检测屏幕大小并重定向到适合较小屏幕的网站设计。如果是这样,您可以使用
window.screen
()


如果您试图检测移动浏览器中的特定功能或功能缺失,那么应该使用功能检测来确定指定的功能是否存在。这比检测浏览器用户代理要好。

你必须决定你最想检测的是移动浏览器的哪个方面。您是否试图检测屏幕大小并重定向到适合较小屏幕的网站设计。如果是这样,您可以使用
window.screen
()


如果您试图检测移动浏览器中的特定功能或功能缺失,那么应该使用功能检测来确定指定的功能是否存在。这比检测浏览器用户代理要好得多。

如果您想轻松解决此问题,可以尝试使用它,它可以为重定向设置规则和条件,如屏幕大小、供应商、操作系统、浏览器、显示宽度和高度。如果你喜欢统计数据,HD有一个很好的分析报告,你可以用它来微调你的重定向如何服务于你的网站用户/访问者。

如果你想简单地解决这个问题,你可以试试它,它让你能够设置规则和条件,如屏幕大小、供应商、操作系统、浏览器、,显示重定向的宽度和高度。如果你喜欢统计数据,HD有一个很好的分析报告,你可以用它来微调你的重定向如何服务于你的网站用户/访问者。

在一个新的屏幕大小不断涌现的世界里,基于屏幕大小的检测是一场失败的战斗。您应该使用服务器端检测并相应地修改视图。使用像Device Atlas或WURFL这样的服务将证明您的未来,并为您提供更多您自己可能实现的功能


记录在案,从性能角度来看,基于JS的移动重定向是最糟糕的解决方案,应该避免

在一个新的屏幕大小不断涌现的世界里,基于屏幕大小的检测是一场失败的战斗。您应该使用服务器端检测并相应地修改视图。使用像Device Atlas或WURFL这样的服务将证明您的未来,并为您提供更多您自己可能实现的功能


记录在案,从性能角度来看,基于JS的移动重定向是最糟糕的解决方案,应该避免

如果要进行显示大小测试,但不测试浏览器的大小,请测试屏幕的大小:。如果你看一下相关问题的列表,你会发现以前有人问过这个问题。确保你的手机页面有一个返回完整站点的链接(理想情况下,使用cookie或其他工具来记住哪些用户返回了完整站点,这样他们就不必每次都手动操作)。为什么要检测“手机浏览器”?您希望解决这种浏览器的哪些功能—屏幕尺寸减小?(可能)触摸界面?带宽有限?如果要进行显示大小测试,请不要测试浏览器的大小,测试屏幕的大小:。如果你看一下相关问题的列表,你会发现以前有人问过这个问题。确保你的手机页面有一个返回完整站点的链接(理想情况下,使用cookie或其他工具来记住哪些用户返回了完整站点,这样他们就不必每次都手动操作)。为什么要检测“手机浏览器”?您希望解决这种浏览器的哪些功能—屏幕尺寸减小?(可能)触摸界面?有限的带宽?