寻找为任何设备编程移动网站的方法。有吗?

时间:2010-05-06 19:27:02

标签: iphone android windows-mobile mobile

我希望知道如何编制适合所有手机的移动网站。

是否有任何特殊方法可以识别设备并根据它来呈现代码?

需要哪些工具和编码语言?

我的第一个想法是将网站保存在XML中,这将根据设备进行解析。

你必须考虑旧手机,甚至只支持wap支持的设备。

例如:移动网站必须识别诺基亚N75并呈现/发送最适合此设备的代码。与iPhone或摩托罗拉Razr相同。

5 个答案:

答案 0 :(得分:1)

开发移动网站存在各种各样的问题。做得好需要花费大量的时间和精力,因为手机对Web标准的支持各不相同。有一些工具可以帮助您,例如Mobile Web Toolkit和沃达丰的PartnerMl。这些往往会迫使您使用专用的XML标记来编写页面,这些标记描述了可以在页面上呈现的有限元素和样式集。电话请求这些xml页面,服务器端软件拦截请求,检查电话类型(用户代理),并提供适合该电话的标记。该系统的缺点是它非常不灵活;您只能使用该工具提供的XML元素集,而不是HTML的完全灵活性。

如果您想自己动手,基本上,您必须执行以下操作。

  1. 使用服务器端代码,检查Http标头中的用户代理。这告诉您哪种电话/浏览器提出了请求
  2. 为该用户代理输出适当的标记和CSS。
  3. 有用的工具是Firefox的User Agent Switcher加载项。例如,使用此功能,您可以访问BBC's website,假装是各种设备。您将看到BBC输出3或4个版本的标记,以及3或4个不同版本的CSS,具体取决于用户代理。

    mobiForge包含有用的信息。 WURFLDeviceAtlas是允许您确定发出请求的设备功能的数据库。

    你会很快意识到你必须保持你的设计简单,最好不要依赖Javascript,因为只有最现代的手机才能很好地处理它。

答案 1 :(得分:1)

XML是可行的方法。

从那里开始,您要解析并处理请求中的代理标记。

从那里你可以选择(假设设备支持它),让设备通过XSLT渲染它,或者你可以在你的端部应用XSLT并为设备流下适当的标记语言。

最后,您最终会得到每个设备的特定“渲染”。理想情况下,设备与普通浏览器的兼容性越高,最终的XSLT就越接近。但是您仍然可能拥有您支持的每个设备的版本。

这样做的好处在于,您可以随着时间和需求的增加逐步添加设备。随着设备的融合,您可以通过聚合渲染来获得价值。此外,无论如何,你的后端都保持不变。

最后,它也适用于非移动设备。

是的,支持不同设备是一种负担,但这只是市场的真相。

答案 2 :(得分:0)

一种方法是使用严格的html,语义非常清晰,css欺骗最少。仅使用相对度量(例如em%)。相信浏览器的默认值,因为它们在某种程度上对每个设备都是最佳的,或多或少。

答案 3 :(得分:0)

如今没有好的工具可以做到这一点。 一个好的做法是尊重关于可访问性的不同W3C标准(如WCAG,XHTML等)。 如果您使您的网站尽可能最容易访问,那么它将更具适应性。 (独立于设备,屏幕尺寸,有或没有屏幕触摸......)

如果您想了解更多信息,可以在此处阅读我关于网页辅助功能的文章之一:Guideline to move a website on a mobile device.

但是,您可以使用一些元标记来允许手机的网络浏览器调整iPhone的内容:

<meta name="viewport" content="width=device-width">

答案 4 :(得分:0)

您可能想看看WURFL