检测移动浏览器和JavaScript支持

时间:2011-02-22 10:45:12

标签: javascript android mobile-website

我想检测请求是否来自移动浏览器(我使用的是java / jsp)

现在当我从我的三星手机访问该页面时,我得到用户代理标题: -

SAMSUNG-GT-S5620 / S5620DDJE1 SHP / VPP / R5 Dolfin / 1.5 Nextreaming SMM-MMS / 1.2.0配置文件/ MIDP-2.1配置/ CLDC-1.1

我应该检查标题是否包含iPhone,BlackBerry,Android,webOS,iPod,三星还是有一些更简单的方法......

如何确保浏览器支持javascript和

顺便说一句,移动浏览器支持hashchange或任何js“高级

如果移动浏览器不支持javascript,那么我想重定向到一个单一表单的简单页面...

或者我必须为移动浏览器创建一个简单的页面,使其运行良好有或没有 js支持

感谢

4 个答案:

答案 0 :(得分:2)

您可以使用WURFL之类的内容来查看浏览器是否具有某种级别的Javascript支持。

但是,您无法判断浏览器是否启用了Javascript,或者该特定设备上的特定浏览器版本是否支持哪些Javascript功能。

相反,您应该在浏览器中使用渐进增强功能,通过测试所需的特定功能来添加基于Javascript的功能。

答案 1 :(得分:1)

您是否尝试使用Modernizr之类的内容?一般来说,你不应该检测浏览器,因为它们有很多,而你只是不知道每个平台上每个浏览器的每个版本的每个功能,甚至没有提到你甚至不能确定用户代理头是对。您应该检测功能。

移动平台上有许多更多浏览器和更多不兼容性,而不是桌面上。在尝试为移动浏览器构建便携式网站之后,您实际上会开始喜欢IE6,因为它符合标准。这就是为什么我建议使用类似jQuery Mobile之类的东西来解决平台之间的差异和不一致,并为您提供一个漂亮而一致的API。否则,这里是您必须考虑支持的平台列表:http://jquerymobile.com/gbs/

答案 2 :(得分:0)

使用www.handsetdetection.com我会做一个检测服务器端。如果浏览器质量差或不够复杂,那么将它们重定向到简单的移动页面,如果浏览器不错,则将它们发送到您的移动页面。

检测将在您的主站点上进行。要允许访问者从您的移动网站移回正常网站,请检查http引荐来源。如果推荐人是您的移动网站,则不要将其重定向回来。

希望有所帮助。

答案 3 :(得分:0)

试试这个:(虽然这可以从客户端进行检测)

 <!DOCTYPE html>
 <html>
   <head> <title> going from here to the real page... </title> </head>     
   <body>
    <noscript>
      Javascript is disabled.
      <meta HTTP-EQUIV="REFRESH" content="0; url=http://www.yourSite.com/yourStaticPage.html/"> 
    </noscript>
    <script type="text/javascript">
         // most of smartphons support this orientation property: 
         if (typeof window.orientation !== 'undefined'){   
             window.location.replace("http://yourSite.com/yourMobilePage.html");
         }
         else {          
             window.location.replace("http://yourSite.com/yourDesktopPage.html");
         }
    </script> 
  </body>
</html>