我想检测请求是否来自移动浏览器(我使用的是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支持
感谢
答案 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>