代码之家  ›  专栏  ›  技术社区  ›  Paul Creasey

ASP.NET网站移动电话支持

  •  2
  • Paul Creasey  · 技术社区  · 15 年前

    我需要让我的网站在黑莓手机上运行良好,我还没有花太多精力让它运行,但我有一些问题谷歌正在努力解决。

    我已经阅读过有关检测浏览器类型和修改ASP.NET控件的默认行为的内容。 here

    我该如何为特定的浏览器提供不同的样式表,我应该这样做吗?

    if (Request.Browser.Browser.ToString() == "blackberry") //pseudocode
    {
        Response.Write("bb.css");
    }
    else
    {
        Response.Write("bb.css");
    }
    

    这会很好,但我觉得有更好的方法,我确信我以前读过一些东西,但我似乎记不起来了。

    我也在考虑一个回应。重定向到一个黑莓手机的不同页面,目前我也会用类似的方式实现它。

    任何想法或建议。

    3 回复  |  直到 14 年前
        1
  •  2
  •   Vivek Bernard    15 年前
        2
  •  1
  •   Tomas Vana    15 年前

    一般来说,浏览器可能会假装它是另一个(例如,Opera使用了它,默认情况下,Opera设置为假装它是IE,以克服对有问题站点的某些限制)。就我个人而言,我认为黑莓和类似的设备很容易被检测到,所以没有理由不像在你的样本中那样做。Vivek的网站看起来也不错;)

        3
  •  1
  •   Community kfsone    7 年前

    虽然与你的实际问题没有直接关系,但你可能想读读我写的答案。 here 在标题下 “识别电话” .

    你真正应该寻找的是一种检测当前设备功能的方法,如果你想正确地完成它,那么你要做很多工作吗?我在另一个答案中提到的问题是,由于用户代理字符串的历史,它们已经很长时间不可靠了。

    如果手机作为一个整体不是你的主要平台,你不应该沉迷于此,找到一些有用的东西,比如检查用户代理字符串是否包含“BlackBerry”,并对此感到满意。然而,如果你真的想要正确地完成它,你必须开发一个功能检测框架来完成所有可能的组合和排列——在这条路上没有容易的方法。

    很抱歉,我觉得有必要成为一个如此积极的人。