Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么GWT编译需要用户代理规范?_Javascript_Gwt_User Agent - Fatal编程技术网

Javascript 为什么GWT编译需要用户代理规范?

Javascript 为什么GWT编译需要用户代理规范?,javascript,gwt,user-agent,Javascript,Gwt,User Agent,我使用GWT已经有一段时间了。我现在想知道为编译过程指定用户代理的目的是什么。我试图获得一些关于这方面的信息,但到目前为止,我能得到的唯一解释是,这是创建适合浏览器的最终JS。我的问题是,浏览器之间有什么不同,需要明确说明我们计划在哪个浏览器上使用它?因为最终的结果是Javascript。难道JS不应该在所有浏览器上都像实现JS一样工作吗?我能想到的唯一区别是CSS中的差异,在需要的地方有特定于浏览器的CSS属性名。在这种情况下,GWT编译的输出能否不产生一个JS?我错过了什么?如果JS中存在一

我使用GWT已经有一段时间了。我现在想知道为编译过程指定用户代理的目的是什么。我试图获得一些关于这方面的信息,但到目前为止,我能得到的唯一解释是,这是创建适合浏览器的最终JS。我的问题是,浏览器之间有什么不同,需要明确说明我们计划在哪个浏览器上使用它?因为最终的结果是Javascript。难道JS不应该在所有浏览器上都像实现JS一样工作吗?我能想到的唯一区别是CSS中的差异,在需要的地方有特定于浏览器的CSS属性名。在这种情况下,GWT编译的输出能否不产生一个JS?我错过了什么?如果JS中存在一些差异,那么从事JS、jQuery或Angular等工作的人应该考虑什么


我已经阅读了gwt文档的这一部分,->.cache.html文件。但我不明白它的确切含义。他们指的是什么问题?

GWT应用特定于浏览器的优化。即使浏览器之间的javascript应该相同,尤其是较旧的浏览器也存在差异,这由GWT负责(参见IE中臭名昭著的XMLHTTPRequest与ActiveX以及Canvas与VML)

缓存文件(称为排列)特定于语言和浏览器,因此客户端只能下载所需的代码,而不是一个非常大的文件(使用GWT延迟加载)


有关替换不同浏览器的实现的示例,请参阅(延迟绑定示例)。

您所说的“为编译过程指定用户代理”和“明确提及我们计划在哪个浏览器上使用它”是什么意思?@ThomasBroyer,我指的是.gwt.xml属性
,是什么让您认为它是必需的?“你对默认值有什么问题吗?”ThomasBroyer,为没有在问题中正确表达道歉。我的目的不是要了解是否指定user.agent属性,而是要了解生成不同浏览器特定JS/cache文件的原因。我提到这个物业是因为它们是有联系的。不用担心,我只是想澄清这个问题;可能会揭穿你这边的误解和误解(显然不是,这很好)。谢谢@MrTux。通过“优化”,我想你也包括“调整”。据我所知,浏览器之间有很大的差异。如果对任何人都有帮助,请在此处分享更多信息(尽管很旧),以供参考。[链接],[链接]。我想浏览器采用这种方式有其优点和缺点。在任何情况下,像jQuery/Angular JS这样的库也有这个问题吗?如何解决这些问题?有什么想法吗?AngularJS和Polymer(我猜JQuery也使用polyfill)用于较旧的浏览器。它以javascript实现功能,浏览器本身不支持它,大多数是较旧的浏览器。。。