【问题标题】:Detecting when GWT uses a fallback user.agent property?检测 GWT 何时使用后备 user.agent 属性?
【发布时间】:2016-08-17 21:10:03
【问题描述】:

当 GWT 无法找到浏览器的排列时,我发现了许多线程,即返回“未知”,然后尝试获取名为 /undefined.cache.js 的资源

我还阅读并了解了如何使用后备属性来解决此问题,方法是在未找到浏览器排列时设置后备 user.agent 属性(建议为“safari”或“gecko1_8”)。

我找不到一种方法来检测 user.agent 字符串是否已从后备属性设置,因此我们可以弹出一条消息以警告用户他们使用的是不受支持的浏览器,并且 UI 可能无法完全运行.在几个线程中,模糊地引用了使用延迟绑定。我不是这方面的专家,虽然我了解基本概念,但我不太明白这有什么帮助 - 延迟绑定如何区分 user.agent 实际上是“safari”兼容浏览器和因此得到支持,而“safari”被选为不受支持的浏览器的后备。没有它,我看不到警告用户的方法。

希望我在这里遗漏了一些东西 - 目前,我正处于一种更脆弱的方法的边缘,即改变我们的服务器以返回一个用于该 undefined.cache.js 资源获取的 HTML 错误页面。

【问题讨论】:

    标签: gwt


    【解决方案1】:

    使用UserAgent 并比较运行时与编译时的值。编译时值不考虑回退值。

    【讨论】:

    • 好的 - 这是一个方便的提示,会试一试
    • 对不起 - 显示我在 GWT 深度方面的经验不足。如何获得 UserAgent 的实例 - 似乎是一个接口,并没有看到任何明显的实现它的类或获取返回它的方法。
    • GWT.create(UserAgent.class)
    • 好的,这里有点难过 - UserAgent.class 的东西工作正常 - 但 user.agent 后备处理似乎根本不起作用。我们在 2.8RC2 上,据我了解,GWT2.7 中出现了后备。尝试了 (因为我们使用 GXT)。我将这些放在 .xml 文件中的哪个位置似乎无关紧要 - 当我强制浏览器进入 IE7 模式时,我们仍然会收到 /undefined.cache.js 请求
    • 至少使用 GXT 不需要设置用户代理属性。我怀疑您想折叠排列,因为构建需要很长时间来编译所有排列。你为什么要设置它们? docs.sencha.com/gxt/4.x/guides/gwt/Permutations.html
    猜你喜欢
    • 2011-09-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-09
    • 1970-01-01
    • 2010-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多