使用GWT检测浏览器版本?

发布于 2024-09-06 05:41:44 字数 100 浏览 7 评论 0原文

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

我发现 IE7 的正则表达式处理存在缺陷,需要围绕一些棘手的 String.matches() 表达式进行编码。

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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

岁吢 2024-09-13 05:41:44

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

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

然后您可以调用该函数并查看浏览器的类型。例如下面的代码决定是否是 Internet Explorer。

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

此页面具有几乎所有已知浏览器的用户代理。

You can detect the browser type using the code below.

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

Then you can call that function and look at the type of the browser. For example the code below decides whether it is internet explorer or not.

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

This page has the User Agent for just about every browser known to man.

遗失的美好 2024-09-13 05:41:44

您可以使用使用替换的 GWT 延迟绑定并创建以下两个实现您使用正则表达式的课程。

例如,假设您的类名为 Parser,并且它包含适用于除 IE7 之外的所有 Web 浏览器的代码。然后您可以扩展 Parser 并为 IE7 创建 ParserIE7 类。然后在您的 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);

您应该在 parser 变量中拥有正确的(依赖于 Web 浏览器的)Parser 实现。

您可以在此处找到更多详细信息。

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.

生生漫 2024-09-13 05:41:44

如果您使用 GXT 库,则可以使用 GXT.isChrome 来检测 chrome,并且可以查找GXT 类的不同数据成员来检测特定浏览器。

If you are using the GXT library, you can use GXT.isChrome to detect chrome and you can find different data members of GXT class to detect a particular browser.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文