2013-10-28 138 views
0

今天我添加代码到我的网站头部分通过屏幕大小来检测移动设备,代码为:移动设备检测问题

<script type="text/javascript"> 
if (screen.width <= 699) {document.location = "http://m.mywebsite.com";} 
</script> 

这对我的作品很大,但现在的问题是,当我重定向到移动版网站,我到那里链接去桌面版网站。当我点击它时,我被重定向到桌面版本,然后立即重定向回移动网站,因为我有移动网站检测! :-)它是无尽的循环。如何解决这个问题呢?

+1

您需要设置某种cookie来检查您是否点击了链接以查看完整网站。顺便说一句,你为什么这样做,而不是通过.htaccess或PHP头? – putvande

+0

我使用js的唯一原因是我认为这是最简单的方法,对吗? –

+0

这可能是最简单的方法,但它不是最好的(对搜索引擎优化和性能) – putvande

回答

0

屏幕的大小可能不是检测移动设备的最佳方式。看看http://wurfl.io/,看看这是否有用。 是的,你需要一个cookie或一些本地存储,以避免循环

0

仅依靠屏幕大小是不够的。事实上,许多现代智能手机的屏幕宽度超过800像素。然后你也有平板电脑,智能电视,控制台和电子阅读器。最好的办法是使用现有的解决方案,如51Degrees.com

设置起来很容易,数据库定期更新新设备。检测是在您的服务器上完成的,这可以缩短用户的页面加载时间。此外,您可以使用image optimiser在重定向到移动页面时处理图像大小调整。

对于PHP探测器的简单4步设置,请访问:PHP Getting Started