移动网站设计

时间:2008-11-07 19:18:43

标签: c# css mobile

我刚刚使用样式表(即@media打印等)向网站添加了打印功能,并想知道我是否可以使用类似的方法来添加对移动设备的支持。

如果没有,我该如何检测移动设备?我的页面是C#(。aspx),我想缩小页面以便于在移动设备上使用。

对我有什么建议吗?

编辑:我的妻子有黑莓手机,所以我想为我们公司的网站启用它。

6 个答案:

答案 0 :(得分:7)

我不确定在请求样式表时iPhone / iPod Touch如何声明自己,但对于大多数人来说,使用

<style type="text/css">
    @media handheld
    {
      /* handheld styles */
    }
</style>

应该做的伎俩。它以与@media print相同的方式工作(或不工作)。

有关媒体类型的完整列表,请参阅here.

答案 1 :(得分:2)

移动浏览器在他们支持的内容方面是一个真正的大杂烩,无论他们是否遵循您的风格的“媒体”属性等。

我会说progressive enhancement(这是一系列文章中的一篇)的目标,并确保如果浏览器只能理解纯HTML,您的内容仍然可以查看并且顺序正确 - 例如,您想要您的主要内容将出现在代码中的侧边栏之前,因为主要内容更为重要。

上文中提到decent looking resource

答案 2 :(得分:2)

你可能想要使用像WURFL这样的东西,这是一个相当不错的数据库,如果其他解决方案不起作用,它们对设备及其用户代理有很多了解。

请记住减少下载量:)

答案 3 :(得分:1)

您想看一下您所拥有的用户代理的类型,看看它是否是移动设备。以下代码就是一个例子:

public static bool IsMobile(string userAgent)
{
    userAgent = userAgent.ToLower();

    return userAgent.Contains("iphone") |
         userAgent.Contains("ppc") |
         userAgent.Contains("windows ce") |
         userAgent.Contains("blackberry") |
         userAgent.Contains("opera mini") |
         userAgent.Contains("mobile") |
         userAgent.Contains("palm") |
         userAgent.Contains("portable");
}

在大多数情况下应该有效!这个link可能会帮助您更具体。

答案 4 :(得分:0)

完成所有这些操作的最佳方法是在服务器级别执行此操作。

使用网络服务检查访问者是否为移动设备并根据此情况提供输出。使用相同的URL并在您的应用程序上执行相同的业务逻辑 - 只需更改应用程序的视图层。

一个很好的选择是Wapple Architect(http://wapple.net) - 它允许您在服务器级别使用某些Web服务进行这些检查,然后执行逻辑并添加代码(如果它是移动设备)。

绝对值得一看。

答案 5 :(得分:0)

检查一下!它太酷了! http://mobstac.com/developer/

MobStac API平台是构建和管理移动网站的最快方式!您可以访问开发人员文档和API密钥。