我正在使用Gwt 2.4。在编译我的项目后,我得到了mymodle.chache.js
中最常用的一些document.write行。
所以我想知道在我的GWT代码中生成这些行的地方,并且发现了一些代码行,如
element.setInnerHtml("blah ..blah..")
;
和
doc.write("blah..blah ..")
;
所以我删除了这些代码行并再次编译,仍然获得了一些(ex:document.write(df+er+t))
行。
有人建议找到从我的GWT中产生这些线的原因吗?
答案 0 :(得分:3)
(假设您正在讨论*.nocache.js
文件而不是*.cache.*
文件,因为*.cache.*
不包含对document.write
的调用,除非您正在使用一个糟糕的第三方lib)
*.nocache.js
文件由主链接器生成,因此其内容独立于您的代码。它包含对document.write()
的各种调用:确定模块基本URL (作为最后的手段,当它无法从其他地方推断它时),注入从{{1引用的脚本和样式表文件,最后注入GWT应用程序代码本身(使用标准链接器,这将是*.gwt.xml
,使用较新的<iframe>
链接器,它将是xsiframe
。<登记/>
如果您真的很担心它,可以通过扩展<script>
(CrossSiteIframeLinker
链接器)并提供不同的代码片段来轻松定制。
提示:使用xsiframe
进行编译,以使生成的代码可读。
答案 1 :(得分:1)
您不应该手动编辑/修改mymodle.cache.js。此文件从GWT Compiler再次生成。您试图通过手工编辑来解决什么问题?