0

无论如何在加载任何页面之前检测 symfony 中的浏览器版本然后运行相应的操作?我正在考虑使用modernizr,但我希望不必重写我所有的观点。

基本上我希望我能完成的是,在框架尝试将 url 与路由匹配之前,它会首先检查用户是否具有特定的浏览器版本,如果没有运行另一个控制器而不是路由中定义的控制器.

4

1 回答 1

0

我认为您的建议不是“最佳实践”。我假设您想将移动请求路由到 Controller 中的唯一 Action 方法。你真的不应该有一个单独的基于控制器的客户端设备。这是 MVC 中 (V) 视图的工作。

Modernizr 是一个带有 css、js 的客户端解决方案,但如果你使用的是 symfony,我更喜欢服务器端,这需要这个问题的标题..“Detecting browser on request”。

虽然您可以自定义配置您的应用程序以检测设备(并且不难),但还有一个更简单的选择。试试这个捆绑包。https://github.com/suncat2000/MobileDetectBundle。它可以做所有事情,并允许您对控制器进行修改或让 twig 了解浏览器,以便您可以进行较小的更改。

于 2012-12-31T12:34:24.390 回答