GWT模块XML - 如何重新定义和使用多个用户代理 [英] GWT module XML - how to redefine and use more than one user agent

查看:124
本文介绍了GWT模块XML - 如何重新定义和使用多个用户代理的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

http://code.google.com/docreader/#p=google-web-toolkit-doc-1-5&s=google-web-toolkit-doc-1-5& t = FAQ_CompileOnePermutation



在文章中,我学会了我可以加速编译器,但指定目标用户代理。问题我该如何指定多个用户代理?假设我的应用程序支持ie6和FF3

 < set-property name =user.agentvalue =ie6,geck1_8 /> 

不起作用 - 我得到了XML解析错误:

  [错误]无效的属性值'ie6,gecko1_8'

我想知道是否有方法在模块XML文件中指定多个特定的用户代理?

>在GWT2.4中将user.agent值设置为gecko时,我有类似的错误消息。所以,我环顾四周,发现gwt代码定义了可能的值。



如果您查看com.google.gwt.user.UserAgent的gwt-user.jar .gwt.xml中,你可以看到你正在使用的GWT版本的可能值。



对于GWT2.4,这是我发现的:

 <! - 浏览器敏感的代码应该使用'user.agent'属性 - > 
< define-property name =user.agentvalues =ie6/>
< extend-property name =user.agentvalues =ie8/>
< extend-property name =user.agentvalues =gecko1_8/>
< extend-property name =user.agentvalues =safari/>
< extend-property name =user.agentvalues =opera/>
< extend-property name =user.agentvalues =ie9fallback-value =ie8/>
< property-provider name =user.agentgenerator =com.google.gwt.user.rebind.UserAgentPropertyGenerator/>

因此在我的情况下,gecko对于user.agent不是一个有效的值,如果我使用gecko1_8编译为Firefox很好。


http://code.google.com/docreader/#p=google-web-toolkit-doc-1-5&s=google-web-toolkit-doc-1-5&t=FAQ_CompileOnePermutation

In the article I learned I can speed up the compiler but specifying the target user agent. The problem how can I specify more than one user agent? Suppose my application supports ie6 and FF3

<set-property name="user.agent" value="ie6,geck1_8" />

doesn't work - I got XML parsing error:

[ERROR] Invalid property value 'ie6,gecko1_8'

I'm wondering if there's a way to specify more than one specific user agent in the module XML file?

解决方案

I've had a similar error message, when setting the user.agent value to gecko in GWT2.4. So I looked around and found where the gwt code defines the possible values.

If you look in the gwt-user.jar at com.google.gwt.user.UserAgent.gwt.xml you can see the possible values for the version of GWT you are using.

For GWT2.4, this is what i found:

<!-- Browser-sensitive code should use the 'user.agent' property -->
  <define-property name="user.agent" values="ie6" />
  <extend-property name="user.agent" values="ie8" />
  <extend-property name="user.agent" values="gecko1_8" />
  <extend-property name="user.agent" values="safari" />
  <extend-property name="user.agent" values="opera" />
  <extend-property name="user.agent" values="ie9" fallback-value="ie8" />
  <property-provider name="user.agent" generator="com.google.gwt.user.rebind.UserAgentPropertyGenerator"/>

Therefore gecko is not a valid value for user.agent in my case, and if I use gecko1_8 it compiles for Firefox fine.

这篇关于GWT模块XML - 如何重新定义和使用多个用户代理的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆