【发布时间】:2019-01-29 22:54:31
【问题描述】:
我正在使用 PHP,特别是 Laravel。
我想根据用户屏幕的大小(例如:手机或电脑)显示不同的视图。 简而言之,我希望我的路由如下所示:
if (device == mobile){
Route::view('/', 'mobile_ui');
} else {
Route::view('/', 'desktop_ui');
}
让我澄清一下,这个问题与响应式设计无关。 我只想使用两个不同的 UI 模板;一个用于移动设备,一个用于桌面设备。
编辑:正如@rickdenhaan 在 cmets 中指出的那样,这个问题的答案可以在这里找到:Simplest way to detect a mobile device
【问题讨论】:
-
PHP是服务器端,无法直接获取屏幕大小,需要前端JS等技术获取屏幕大小,然后传递给PHP。
-
难道不能通过 HTTP 请求获得它吗?
-
可以根据 HTTP 标头的组合进行有根据的猜测(Mobile Detect 的工作方式如下)。通过这种方式,您可以将 PC 与平板电脑和手机区分开来,但它不会告诉您屏幕分辨率、像素密度或物理测量值。实际屏幕大小不是请求信息的一部分,只能使用客户端脚本检索。
-
@rickdenhaan 这对我来说是一个很好的解决方案,因为我并不需要实际的屏幕尺寸;只是桌面与移动。
-
嗯,我无法收回该副本并标记另一个副本。 This question 和 this one 都已接受答案并受社区保护。
标签: php laravel url-routing screen-size device-detection