browsergwtversion-detection

Browser version detect using GWT?


Is there GWT api that will tell me which browser version it detected?

I've found a flaw with IE7's regex handling and need to code around some tricky String.matches() expressions.


Solution

  • You could use GWT deferred binding using replacement and create two implementations of your class in which you use regex.

    For example let's assume your class is named Parser and it contains code for all web browsers except for IE7. Then you can extend Parser and create ParserIE7 class for IE7. Then in your GWT module config file you can add:

    <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>
    

    Then by calling

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

    you should have a proper (web browser dependent) implementation of Parser in parser variable.

    You can find more details here.