热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

GWT模块XML-如何重新定义和使用多个用户代理-GWTmoduleXML-howtoredefineandusemorethanoneuseragent

http:code.google.comdocreader#pgoogle-web-toolkit-doc-1-5&sgoogle-web-toolkit-doc-1-5&

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

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


doesn't work - I got XML parsing error:

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

[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?

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

5 个解决方案

#1


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.

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

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.

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

For GWT2.4, this is what i found:

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


  
  
  
  
  
  
  

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

因此,在我的情况下,gecko不是user.agent的有效值,如果我使用gecko1_8,它可以很好地编译Firefox。

#2


Works in GWT 1.6, your *.gwt.xml file :

适用于GWT 1.6,您的* .gwt.xml文件:


      
      
      

#3


for webkit based browsers like chrome, use "safari" as the user agent

对于像chrome这样的基于webkit的浏览器,使用“safari”作为用户代理

#4


In order to rapidly deploy any application, you'll need two targets; once for the engine your hosted mode deploys on {Firefox / Linux, Safari / Mac, IE6 / Win}, and one for your agile browser that lets you build css in real-time {Firefox + Firebug}.

为了快速部署任何应用程序,您需要两个目标;一次用于引擎,您的托管模式部署在{Firefox / Linux,Safari / Mac,IE6 / Win}上,一个用于您的敏捷浏览器,可以让您实时构建css {Firefox + Firebug}。

Linux: 
Mac: 
...etc...

This is GWT >= 1.6 ONLY!

这只是GWT> = 1.6!

For older gwt projects, you must super-source the com/google/gwt/user/UserAgent.gwt.xml file... Put it in a source location that is included BEFORE your gwt-*.jar on the classpath. Basically, you can copy that file into a new one in the same package as the original, and edit the CDATA Javascript block that returns the actual user.agent value. Play with this all you like, but don't go getting too crazy with their user.agent property, as it WILL be changing for ie8 in a future build.

对于较旧的gwt项目,您必须超级com / google / gwt / user / UserAgent.gwt.xml文件...将其放在包含在类路径上的gwt - * .jar之前的源位置。基本上,您可以将该文件复制到与原始文件相同的包中的新文件中,并编辑返回实际user.agent值的CDATA Javascript块。玩这个你喜欢的,但不要对他们的user.agent属性过于疯狂,因为它将在未来版本中改变ie8。

To target ie browsers, make up your own ie.version property, and tweak a copy of the property-provider in UserAgent.gwt.xml to target different versions of ie. Just make sure that when you use the custom property for deferred binding you do:

要定位ie浏览器,请构建自己的ie.version属性,并在UserAgent.gwt.xml中调整属性提供程序的副本以定位不同版本的ie。只需确保在使用自定义属性进行延迟绑定时,您可以:


  
  
    
    
  

Or you'll get ie7 + gecko/safari builds and other silly junk that will never be used.

或者你将获得ie7 + gecko / safari构建和其他永远不会被使用的愚蠢垃圾。

Note: Any code in a property-provider is loaded in the .nocache.js, and can be useful to preload images / css whilst the .cache.js payload is being downloaded.
Just add var __cached = new Image('Url To Compiled Image / Whatever you want to load');

注意:属性提供程序中的任何代码都加载到.nocache.js中,对于在下载.cache.js有效内容时预加载images / css非常有用。只需添加var __cached = new Image('Url To Compiled Image / Whatever you to loading');

#5


Not yet. The idea is that you develop rapidly to one browser and then compile once to deploy (i.e., do final testing) for all browsers, with GWT handling the browser differences. Don't forget that at deploy time GWT will optimize the downloads per browser so that in the end it doesn't matter how many user agents you chose.

还没。这个想法是你快速开发到一个浏览器然后编译一次以便为所有浏览器进行部署(即,做最终测试),GWT处理浏览器差异。不要忘记,在部署时,GWT将优化每个浏览器的下载量,以便最终与您选择的用户代理数量无关。


推荐阅读
  • 本文介绍了 Go 语言中的高性能、可扩展、轻量级 Web 框架 Echo。Echo 框架简单易用,仅需几行代码即可启动一个高性能 HTTP 服务。 ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • C语言是计算机科学和编程领域的基石,许多初学者在学习过程中会感到困惑。本文将详细介绍C语言的基本概念、关键语法和实用示例,帮助你快速上手C语言。 ... [详细]
  • 本文描述了在使用 TexStudio 编辑 LaTeX 时插入算法伪代码块时遇到的“Missing \endcsname inserted. \While”错误,并提供了详细的解决方案。 ... [详细]
  • packagecom.panchan.tsmese.utils;importjava.lang.reflect.ParameterizedType;importjava.lang. ... [详细]
  • 本文介绍了Java编程语言的基础知识,包括其历史背景、主要特性以及如何安装和配置JDK。此外,还详细讲解了如何编写和运行第一个Java程序,并简要介绍了Eclipse集成开发环境的安装和使用。 ... [详细]
  • python模块之正则
    re模块可以读懂你写的正则表达式根据你写的表达式去执行任务用re去操作正则正则表达式使用一些规则来检测一些字符串是否符合个人要求,从一段字符串中找到符合要求的内容。在 ... [详细]
  • 本文详细介绍了Java反射机制的基本概念、获取Class对象的方法、反射的主要功能及其在实际开发中的应用。通过具体示例,帮助读者更好地理解和使用Java反射。 ... [详细]
  • Spring – Bean Life Cycle
    Spring – Bean Life Cycle ... [详细]
  • 为了优化用户体验,本文探讨了如何调整下拉菜单的宽度。通过合理设置宽度,可以提升界面的美观性和易用性。文章提供了具体的代码示例,帮助开发者实现这一目标。例如,可以通过 CSS 或 JavaScript 来动态调整下拉菜单的宽度,确保其在不同设备和屏幕尺寸上都能保持良好的显示效果。 ... [详细]
  • 本文深入探讨了 hCalendar 微格式在事件与时间、地点相关活动标记中的应用。作为微格式系列文章的第四篇,前文已分别介绍了 rel 属性用于定义链接关系、XFN 微格式增强链接的人际关系描述以及 hCard 微格式对个人和组织信息的描述。本次将重点解析 hCalendar 如何通过结构化数据标记,提高事件信息的可读性和互操作性。 ... [详细]
  • CSS中的pointer-events属性详解与应用
    在CSS中,`pointer-events`属性是一个非常实用但常被忽视的功能。它主要用于控制元素是否响应鼠标事件。当一个元素覆盖在其他元素之上时,通过设置`pointer-events`属性,可以决定该元素是否能够接收鼠标点击、悬停等交互操作,从而实现更灵活的用户界面设计。例如,将`pointer-events`设置为`none`可以使元素透明地传递鼠标事件,方便实现复杂的叠加效果和交互逻辑。 ... [详细]
  • HTML5 Web存储技术是许多开发者青睐本地应用程序的重要原因之一,因为它能够实现在客户端本地存储数据。HTML5通过引入Web Storage API,使得Web应用程序能够在浏览器中高效地存储数据,从而提升了应用的性能和用户体验。相较于传统的Cookie机制,Web Storage不仅提供了更大的存储容量,还简化了数据管理和访问的方式。本文将从基础概念、关键技术到实际应用,全面解析HTML5 Web存储技术,帮助读者深入了解其工作原理和应用场景。 ... [详细]
  • 探讨.NET技术与Silverlight中控件拖放及复制功能的实现方法
    Silverlight拖动复制控件,就是将控件从一个容器中向另一个容器中拖动时,不是移动控件而把该控件到另一个容器中。这种情形在程序中经常遇到ÿ ... [详细]
author-avatar
于英豪H
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有