代码之家  ›  专栏  ›  技术社区  ›  joebert

询问他们使用的浏览器的一般方式?

  •  0
  • joebert  · 技术社区  · 15 年前

    我被难倒在如何可靠地使这项工作。

    我的另一个想法是保留一个用户代理字符串池,然后向它们显示一个select元素,该元素将它们随机插入4个左右的其他随机字符串中,并要求它们选择它们的字符串。不过,我担心不懂技术的用户会把这个问题弄得一团糟。我想我可以使用一些逻辑来确保在选项中每种浏览器类型只有一种,但我甚至对此都持怀疑态度。

    4 回复  |  直到 9 年前
        1
  •  6
  •   Marcin Cylke    15 年前

    为什么要询问用户有关其用户代理的信息?

    拉取适当的http头-正如您所提到的,应该足够了。

    但如果你急需的话,我会帮你的

    • 正则表达式-用于检查http用户代理头并从该头中删除不重要的信息
    • 根据上一步显示可能的匹配项
    • 然后我会尝试将他输入的内容与一些字典值进行匹配,以便能够输入IE和MSIE并得到相同的结果。

        2
  •  1
  •   Brian Rasmussen    15 年前

    请记住:客户端发送HTTP头,用户可以在用户代理中放入任何内容。因此,如果你想抓住那些对他们正在使用的浏览器“撒谎”的人,你只会抓住那些在发送HTTP头之前无法修改HTTP头的人。

        3
  •  1
  •   Wouter van Nifterick Andrey    15 年前

    您既不能100%信任用户输入,也不能100%信任浏览器在HTTP头中发送的字符串。。。

        4
  •  1
  •   Douglas Leeder    15 年前

    最明显的问题是,为什么你要问用户他们使用的是什么浏览器?

    a) 规范化用户字符串:小写、删除空格、删除数字?

    b) 在标准化字符串和用户代理字符串之间构建映射。

    执行查找时,如果规范化字符串或用户代理字符串不在地图中,请将其传递给人员,以便使用适当的地图添加到地图中。