繁体   English   中英

检测移动浏览器和javascript支持

[英]detect mobile browser and javascript support

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

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

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

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

我如何确保浏览器支持javascript和

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

如果移动浏览器不支持javascript,那么我想以一种形式重定向到一些简单的页面...

或者我必须为移动浏览器制作一个简单的页面,以便无论是否支持js都能正常运行

谢谢

您可以使用WURFL之类的东西来查看浏览器是否具有某种程度的Javascript支持。

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

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

您是否尝试过使用Modernizr之类的工具 通常,您不应该检测浏览器,因为它们太多了,并且您只是不知道每个平台上每个浏览器的每个版本的每个功能,更不用说您甚至不能确保用户代理标头是对。 您应该改为检测功能。

还有更多浏览器和多不兼容上比台式机的移动平台。 在尝试为移动浏览器构建便携式网站之后,您实际上会开始喜欢IE6,因为它符合标准。 这就是为什么我建议使用jQuery Mobile之类的工具来进行艰苦的工作来弄清平台之间的差异和不一致之处,并为您提供一个良好而一致的API。 否则,这里是您必须考虑支持的平台列表: http : //jquerymobile.com/gbs/

尝试以下操作:(尽管这会从客户端进行检测)

 <!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>

使用www.handsetdetection.com,我将在检测服务器端进行操作。 如果浏览器质量低下或过于复杂,则将其重定向到简单的移动页面;如果浏览器不错,则将其发送到您的移动页面。

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

希望能有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM