GWT不支持浏览器警告

时间:2009-06-06 19:49:15

标签: browser gwt

我希望向使用不受支持的浏览器的用户显示消息,而不是让网站以丑陋的方式失败。

最好的方法是什么?

4 个答案:

答案 0 :(得分:2)

GWT还使用.gwt.xml文件提供浏览器检测。看看这个:

http://code.google.com/p/google-web-toolkit-doc-1-5/wiki/DevGuideDeferredBindingReplacement

这是一个有趣的解决方案,但我不确定它是否是您案例中的最佳解决方案。这对于创建应用程序的简化版本非常有用,该版本会自动加载到不受支持的浏览器中。

答案 1 :(得分:1)

GWT团队没有提供不支持的浏览器列表,只提供支持的浏览器,而且它是“最新版本的Internet Explorer,Firefox,和Safari。(歌剧也是,大部分时间。)“​​。

如果您对自己的浏览器/版本不起作用有所了解,可以使用this code

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

了解正在使用的浏览器,也许可以解决这个问题。

另一方面,浏览器呈现网页可能会以许多微妙的方式失败,从轻度烦人到灾难性的,并且通常无法知道您的页面在哪个范围内。 GWT的一个主要原因是你可以不再担心这类事情。至少直到它发生。

答案 2 :(得分:0)

如果你想让它变得简单和愚蠢,请在加载GWT之前检查主html文件中的一些javascript代码。尽管如此,我宁愿相信GWT能够处理或多或少的古怪事物。你也可以推荐chrome或firefox。

答案 3 :(得分:0)

我意识到这是一个老问题,但我遇到了同样的问题,并希望为它分享一个新的解决方案。

今天使用GWT2.7"已过时"浏览器尝试下载undefined.cache.js。这显然失败了,客户端永远陷入困境。

您可以修补GWT本身设置回退编译步骤,但简单的解决方案是简单地提供(手动制作)undefined.cache.js并将其放置在其他生成的文件所在的位置。

你把这一行放在里面:

xxxxxxx.onScriptDownloaded(alert('This browser is not supported anymore.\nPlease upgrade to a more recent browser.'));

其中xxxxxxx是您的模块基本名称(来自xxxxxxxx.gwt.xml)。