我如何检测用户是否正在从移动网络浏览器浏览我的网站,以便我可以自动检测和显示我的网站的适当版本?
当前回答
你还没说你在用什么语言。如果是Perl,那么它很简单:
use CGI::Info;
my $info = CGI::Info->new();
if($info->is_mobile()) {
# Add mobile stuff
}
unless($info->is_mobile()) {
# Don't do some things on a mobile
}
其他回答
有一个全新的解决方案使用Zend框架。从Zend_HTTP_UserAgent的链接开始:
http://framework.zend.com/manual/en/zend.http.html
是user-agent用于检测手机浏览器。有很多免费的脚本可以检查这一点。这里有一个这样的php代码,它将帮助你重定向移动用户到不同的网站。
我最喜欢的移动浏览器检测机制是WURFL。它经常更新,适用于每一个主要的编程/语言平台。
可以检查User-Agent字符串。在JavaScript中,这很简单,它只是navigator对象的一个属性。
var useragent = navigator.userAgent;
你可以在JS中检查设备是iPhone还是黑莓
var isIphone = !!agent.match(/iPhone/i),
isBlackberry = !!agent.match(/blackberry/i);
如果isIphone是真的,你是通过Iphone访问网站,如果是黑莓,你是通过黑莓访问网站。
你可以使用firefox的“UserAgent Switcher”插件来测试。
如果你也感兴趣,可能值得一试我的脚本“redirection_mobile.js”托管在github这里https://github.com/sebarmeli/JS-Redirection-Mobile-Site,你可以在我的一篇文章中阅读更多细节:
http://blog.sebarmeli.com/2010/11/02/how-to-redirect-your-site-to-a-mobile-version-through-javascript/
你考虑过使用css3媒体查询吗?在大多数情况下,你可以为目标设备应用一些css样式,而不必创建一个单独的移动版本的网站。
@media screen and (max-width:1025px) {
#content {
width: 100%;
}
}
你可以设置宽度为任何你想要的,但1025将捕获iPad横向视图。
你还需要在你的头部添加以下meta标签:
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
请查看HTML5 Rocks上的这篇文章,了解一些好例子
推荐文章
- 如何使一个DIV不包装?
- CSS div元素-如何显示水平滚动条只?
- 将Dropzone.js与其他字段集成到现有的HTML表单中
- 使用“!”的含义是什么?重要的”?
- 如何唯一地识别访问我网站的计算机?
- 资源解释为样式表,但以MIME类型text/html传输(似乎与web服务器无关)
- 复选框输入是否只在被选中时才发布数据?
- 是类型="文本/css"必须在<链接>标签?
- 如何将LaTeX与Markdown混合?
- 如何使<div>总是全屏?
- 如何中心div垂直内绝对定位的父div
- 如何让Chrome允许混合内容?
- 创建一个可变长度的字符串,用重复字符填充
- 有效使用< >(锚标签)没有href属性?
- 如何将全局字体应用到整个HTML文档