我希望向使用不受支持的浏览器的用户显示消息,而不是让网站以丑陋的方式失败。
最好的方法是什么?
答案 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
)。