我正在编写一个Web应用程序,我想知道请求来自哪种类型的浏览器/操作系统,并相应地自定义返回的内容。因此,如果有人从iPhone / Android访问该网站,他们会获得更加简化的体验,或者如果它是桌面版,他们会获得完整版本。我将采取完全不同的路径,而不是尝试将内容混合在一起。
ASP.NET / IIS和PHP中推荐的方法是什么?是否有一个地方我可以捕获传入的HTTP请求,做出决定,然后重定向?或者这通常是在一页一页的情况下完成的吗?我应该注意哪些问题?
编辑:确保在缩减版本上有完整版本的链接,这是一个很好的观点。这是一个好点,但提出的问题是,一旦用户做出这个选择,所有未来的重定向现在必须指向完整版本。我真的宁愿在一个地方做所有这些。
干杯,
沙恩
答案 0 :(得分:1)
不是直接的答案,但值得查看CSS媒体类型。您可以指定手持设备类型以简化手机和其他小型屏蔽设备的页面。
答案 1 :(得分:1)
您可以查看HTTP请求中的UserAgent标头并相应地重定向。
在PHP中$_SERVER['HTTP_USER_AGENT']
。
但是,您应该注意在执行此操作时不要编写大量重复的代码。
答案 2 :(得分:1)
ASP.NET具有内置的浏览器检测机制。它由完全可扩展的XML文件集合(* .browser)驱动,这些文件包含用于匹配传入的User-Agent字符串和匹配代理的关联属性的正则表达式。
您可以从Request.Browser对象访问属性;您还可以根据浏览器细节标记控件属性。
网上有很多关于此的信息 - 我也在我的书中详细介绍了它:Ultra-Fast ASP.NET。
答案 3 :(得分:0)
对于ASP.NET应用程序,您可以查看Global.asax文件和Session_BeginRequest事件。
答案 4 :(得分:-2)