[英]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.