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

使用GWT检测浏览器版本?

  •  26
  • Stevko  · 技术社区  · 15 年前

    是否有GWTAPI可以告诉我它检测到的浏览器版本?

    我发现IE7的正则表达式处理有一个缺陷,需要编写一些棘手的String.matches()表达式。

    3 回复  |  直到 15 年前
        1
  •  27
  •   Piotr    15 年前

    你可以用 GWT deferred binding using replacement

    例如,假设您的类名为 Parser 它包含除IE7之外的所有web浏览器的代码。然后你可以延伸 分析器 创造 ParserIE7 IE7的课程。然后在GWT模块配置文件中可以添加:

    <replace-with class="Parser">
      <when-type-is class="Parser"/>
    </replace-with>
    
    <replace-with class="ParserIE7">
      <when-type-is class="Parser" />
      <when-property-is name="user.agent" value="ie7"/>
    </replace-with>
    

    Parser parser = GWT.create(Parser.class);
    

    您应该有一个适当的(依赖于web浏览器的)实现 分析器 parser 变量。

    你可以找到更多的细节 here

        2
  •  28
  •   Romain Hippeau    15 年前

    您可以使用下面的代码检测浏览器类型。

    public static native String getUserAgent() /*-{
    return navigator.userAgent.toLowerCase();
    }-*/;
    

    if(getUserAgent().contains("msie"))
    {
    ///////// Write your code for ie
    }
    

    This page 几乎所有已知的浏览器都有用户代理。

        3
  •  7
  •   Gnoupi    11 年前

    如果您使用的是GXT库,则可以使用 GXT公司 GXT类的不同数据成员 检测特定浏览器。

    推荐文章