【发布时间】:2011-05-04 04:28:52
【问题描述】:
有人在 PlayStation 3 (Netfront) 浏览器中加载 GWT 编译的应用程序吗?我曾尝试只编译 IE6 排列,但 PS3 没有选择它。我认为本质上问题是如何将新的 user.agent 添加到 GWT 并将其映射到现有的 IE 配置。
【问题讨论】:
有人在 PlayStation 3 (Netfront) 浏览器中加载 GWT 编译的应用程序吗?我曾尝试只编译 IE6 排列,但 PS3 没有选择它。我认为本质上问题是如何将新的 user.agent 添加到 GWT 并将其映射到现有的 IE 配置。
【问题讨论】:
您可以修改 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”,但我不建议这样做。
【讨论】: