GWT ScriptInjector VS将脚本标记添加到index.html页面

时间:2015-04-20 17:00:03

标签: javascript gwt javascript-injection

为什么要使用ScriptInjector类。

使用ScriptInjector注入js文件和将带有<script>标记的链接直接添加到index.html文件之间有什么区别? 使用ScriptInjector而不是在index.html文件中添加脚本标记是否有任何优势。

我想到的一件事是,如果您使用index.html<script>文件中添加大量脚本,那么初始加载可能会更多,这些脚本直到稍后才会被使用。 ScriptInjector将通过仅在需要时异步加载脚本来减少初始加载。

3 个答案:

答案 0 :(得分:5)

使用ScriptInjector的主要优点是您可以利用Java语言在页面中注入JS文件(或JS代码)。在GWT应用程序的上下文中,这比使用JSNI更清晰。

您说得对,在HTML文件中预先添加<script>标记可能会导致性能问题。

答案 1 :(得分:3)

使用ScriptInjector的优点是

  • ScriptInjector根据您可以注入脚本(js)的条件,动态创建脚本标记并将其附加到DOM。
  • 如果我们在主页上包含大量脚本标记,这将花费大量时间来加载脚本标记(也会阻止它直到执行它)。

答案 2 :(得分:2)

您已经描述了其中一个主要优势。

另一个优点是可能永远不会使用某些脚本。例如,您可能有一个集成Google电子钱包付款或Facebook登录的脚本,但并非每个用户每次都需要这些功能。所以在实际需要之前没有理由加载这些脚本。