GWT污染全局Javascript名称空间

时间:2012-03-22 14:54:47

标签: gwt

我在我的GWT应用程序中遇到问题,我在其中使用了另一个本身使用underscore.js库的脚本。此脚本定义全局变量var _;

问题是GWT生成的代码还为特定于应用程序的目的定义了var _;这与另一个脚本中定义的_冲突。

我也不知道GWT可能会定义其他脚本可能无意中干扰的其他全局变量。

(编辑:this question似乎_是它使用的唯一符号。

有没有办法将GWT生成的变量放入我选择的单独的全局变量中?

1 个答案:

答案 0 :(得分:2)

除非您使用xs链接器(现在已弃用以支持xsiframe链接器)或sso链接器,否则GWT代码将在iframe内运行,以便它不会污染全局命名空间,更重要的是(几乎)免受外部脚本污染全局命名空间的影响。

在HTML主机页面JS环境中运行的唯一脚本是*.nocache.js脚本,它定义了一个函数(通过GWT模块的名称)并简单地调用它,以便具体地 not 污染全局命名空间。

您链接的问题涉及在iframe 沙箱中运行的代码,因此不应与underscore.js冲突。