<分区>
当我重新编码我的整个网站时,我需要选择几种方法来检测网络浏览器和移动设备。从下面的列表中,你能推荐更好的选择吗?
这是我的选择;
浏览器检测
移动设备检测
理想情况下,我希望所有移动设备(智能手机和平板电脑)都显示网站的移动版本,并可以选择通过用户代理开关查看桌面版本,我知道 Chrome、Firefox 和 Opera Android 优惠(至少)。
谢谢。
最佳答案
您不应使用浏览器检测,而应使用功能 检测。为此,我强烈推荐 Modernizr .
关于设备检测,我使用 PHP Mobile Detect ,效果非常好。然而,大多数情况下,您只需通过媒体查询进行屏幕尺寸检测即可:
@media screen and (max-width:759px){
/* mobile CSS */
}
@media screen and (min-width:760px){
/* browser CSS */
}
那显然过于简单了,你可以设置成你想要的任何大小,并且有多个版本(平板、巨屏等)。 More information can be found here.
也就是说,IE8 及更低版本不支持媒体查询,因此您需要进行基于 Javascript 的检测。如果您使用 Modernizr,您可以检测它,将屏幕大小的 CSS 复制到一个单独的文件中,然后通过为您的 CSS 链接提供一个 ID 来动态应用该 CSS 文件:
<link rel="stylesheet" type="text/CSS" id="ApplyQueries" href="queries.css" />
然后根据屏幕大小动态应用正确的文件:
if(document.documentElement.clientWidth < 760){
document.getElementById('ApplyQueries').href = 'mobile.css';
} else {
document.getElementById('ApplyQueries').href = 'browser.css';
}
同样,这过于简单化了,但应该让您知道从哪里开始。
关于php - 我想在我的网站上添加一些检测;这些是好的选择吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19794789/