1

有人在 PlayStation 3 (Netfront) 浏览器中加载 GWT 编译的应用程序吗?我曾尝试只编译 IE6 排列,但 PS3 没有选择它。我认为基本上问题是如何将新的 user.agent 添加到 GWT 并将其映射到现有的 IE 配置。

4

1 回答 1

0

您可以修改 UserAgent.gwt.xml ( http://code.google.com/p/google-web-toolkit/source/browse/trunk/user/src/com/google/gwt/user/UserAgent.gwt.xml )并使用条件属性(http://code.google.com/p/google-web-toolkit/wiki/ConditionalProperties

<define-property name="ps3.user.agent" values="ps3, not_ps3" />
<property-provider name="ps3.user.agent"><![CDATA[
  {
    var ua = window.navigator.userAgent.toLowerCase();
    if (ua.indexOf('NetFront') != -1) { return 'ps3'; }
    return 'not_ps3';
  }
]]></property-provider>

<!-- Set user agent to ie6 if ps3 -->
<set-property name="user.agent" value="ie6" >
    <when-property-is name="ps3.user.agent" value="ps3" />
</set-property>

com.google.gwt.user.rebind.UserAgentPropertyGenerator 中的相关代码
http://code.google.com/p/google-web-toolkit/source/browse/trunk/user/src/com/google/gwt/user /rebind/UserAgentPropertyGenerator.java
您可以编辑它以让 PS3 用户代理返回“ie6”,但我不建议这样做。

于 2011-05-03T20:28:52.463 回答