有没有人在PlayStation 3(Netfront)浏览器中加载GWT编译的应用程序?我试图只编译IE6排列,但PS3没有拿起它。我认为基本上问题是如何将新的user.agent添加到GWT并将其映射到现有的IE配置。
答案 0 :(得分: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',但我不推荐这个。