什么更好地重定向,屏幕分辨率或用户代理?

Pau*_*aul 6 html javascript php android

我为网站创建了一个移动网页,但我想知道重定向的最佳方法是什么.我是根据屏幕分辨率还是用户代理重定向它们?

我认为屏幕分辨率看起来像这样:

if (screen.width <= 1024) window.location.replace("http://www.site/mobile/")
else window.location.replace("http://www.site/");
Run Code Online (Sandbox Code Playgroud)

使用PHP,脚本看起来像这样:

$useragent=$_SERVER['HTTP_USER_AGENT'];
if(preg_match('/android/i',substr($useragent,0,4)))
header('Location: http://www,site/mobile/');
Run Code Online (Sandbox Code Playgroud)

一种方法比另一种方法更受欢迎吗?如果是这样有什么好处?

Sam*_*zor 5

用户代理.

在视网膜显示的这个时代,以及Android设备可以是您能想到的任何屏幕分辨率的事实,屏幕分辨率和平台之间的相关性越来越低.实际上,有许多移动设备(nexus 7,nexus 10,ipad 3+)具有与台式计算机相同或更高的屏幕分辨率.分辨率根本不够描述.

另一方面,用户代理旨在告诉您发出请求的是什么.毫无疑问,你会知道它是Android或iOS设备.此外,在Android上,我认为平板电脑不应该在其Android-y用户代理中包含字符串"mobile",以实现更好的定位.同样,iPad和iPhone每个都有自己的一组用户代理字符串,您可以考虑这些字符串.