2

我正在使用 Gwt 2.4。编译我的项目后,我得到了一些mymodle.chache.js最奇怪的 document.write 行。

所以我想知道在我的 GWT 代码中产生这些行的地方,并发现了一些代码行,比如

element.setInnerHtml("blah ..blah..");

doc.write("blah..blah ..");

所以我删除了那行代码并再次编译,仍然得到一些(ex:document.write(df+er+t))行。

任何人都建议一种方法来找到从我的 GWT 产生这些行的原因?

4

2 回答 2

3

(假设您谈论的是*.nocache.js文件而不是*.cache.*文件,因为*.cache.*不包含对 的调用document.write,除非您使用的是蹩脚的第三方库)

*.nocache.js文件由主链接器生成,因此其内容独立于您的代码。它包含对各种事情的调用document.write():确定您的模块基本 URL(作为最后的手段,当它无法从其他地方推断它时),注入从您的*.gwt.xml文件引用的脚本和样式表,最后注入 GWT 应用程序代码本身(使用标准链接器, 这将是一个<iframe>, 使用较新的xsiframe链接器它将是<script>)。
如果您真的担心它,可以通过扩展CrossSiteIframeLinkerxsiframe链接器)并提供不同的代码片段来轻松定制它。

提示:compile with-style PRETTY使生成的代码可读。

于 2012-11-27T12:22:05.167 回答
1

您不应该手动编辑/修改 mymodel.cache.js。该文件再次从 GWT 编译器生成。您想通过手动编辑解决什么问题?

于 2012-11-27T09:27:00.193 回答