Mobile 服务器端选项,用于向不同的移动设备提供不同的页面结构(HTML)
我正在研究开发“经典”风格的移动站点的最佳实践,即作为移动HTML页面交付和体验的移动站点,与小型JavaScript应用程序(jQuery mobile、Sencha等)相比 主要有两种方法:Mobile 服务器端选项,用于向不同的移动设备提供不同的页面结构(HTML),mobile,xhtml-mp,Mobile,Xhtml Mp,我正在研究开发“经典”风格的移动站点的最佳实践,即作为移动HTML页面交付和体验的移动站点,与小型JavaScript应用程序(jQuery mobile、Sencha等)相比 主要有两种方法: 将相同的页面结构(HTML)交付给所有移动设备,然后使用CSS媒体查询或JavaScript来改善功能更强的设备的体验 为具有增强功能的设备提供完全不同的页面结构(可能还有内容) 我对第二种方法的最佳实践特别感兴趣。两个很好的例子是: 麻省理工学院的移动网站:黑莓手机与iOS和安卓手机不同,功能(更少)
希望一切都有意义。非常感谢。检测移动设备需要哪种格式的常用方法是accept标头: 应用程序/xhtml+xml>xhtml text/vnd.wap.wml>旧的wml wap页面 . . 在可以处理所有桌面html格式的较新设备上,可以使用用户代理 然后你必须问问自己你想做什么: 切换到其他样式表(仅适用于较新的设备)。 切换到另一个视图逻辑,如构建wml页面模板。 切换到完整的其他页面
我认为第二种方法是最好的。许多web框架可以轻松地切换到另一个视图逻辑,而无需重写其余的视图逻辑(mvc模式的荣耀)。在NPR,我们使用服务器端的“应用程序”来提供正确的html/css/等,这取决于用户是在高端设备上还是在低端手机上 因此,当移动设备ping npr.org页面时,我们的服务器使用用户代理检测方法将其指向相应的m.npr.org。一旦指向m.npr.org的URL,这个web应用程序——它是用中文编写的,但我认为可能有很多东西——会发回该网站的触摸版或更简单、精简的内容。web应用程序的选择至少在一定程度上基于WURFL数据 我没有足够的代表点来发布与截图的比较,所以我必须给你指出网站本身 您可以在桌面浏览器中通过键入m.npr.org查看精简的站点来查看此内容。您可以通过添加参数?devicegate.client=iPhone_3_0来覆盖默认的设备检测,以查看您在智能手机上访问npr.org时看到的触摸版本。如果查看源代码,可以看到在同一子域中提供的html和css是如何不同
希望它能帮助我们在野外看到这样的东西。这有意义吗?我给你举两个例子
我没有想过在应用程序中使用不同的视图。好主意。关于WAP1和新mhtml之间切换的有趣文章如下:。它涉及drupal,但有许多有趣的代码示例。对于在新设备(iOS、Android等)之间切换,我认为像jQuery mobile这样的框架非常有用,因为不需要为每种设备提供全新的语法。您提到的Sencha也是一个解决方案,但我认为它对于移动解决方案来说是“大”的(我不喜欢这家公司采用社区驱动的项目并进行销售)。这完全有帮助。那么,这些是基于UA的不同“应用程序”吗?与Johni描述的“不同的应用程序视图”方法相比,有什么优点/缺点吗?大卫,非常有用。非常感谢。我要出去度假几天,但我会在回来时查看这些链接。:)