【问题标题】:GWT ScriptInjector VS adding script tag to index.html pageGWT ScriptInjector VS 将脚本标签添加到 index.html 页面
【发布时间】:2015-06-27 12:53:44
【问题描述】:
为什么要使用ScriptInjector 类。
使用ScriptInjector注入js文件和直接在index.html文件中添加带有<script>标签的链接有什么区别。
与在index.html 文件中添加脚本标签相比,使用ScriptInjector 有什么优势吗?
我想到的一件事是,如果您使用 <script> 在 index.html 文件中添加大量脚本,这些脚本将在以后使用,那么初始负载可能会更多。 ScriptInjector 将通过仅在需要时异步加载脚本来减少初始负载。
【问题讨论】:
标签:
javascript
gwt
javascript-injection
【解决方案1】:
使用ScriptInjector 的主要优点是您可以利用Java 语言在您的页面中注入JS 文件(或JS 代码)。在 GWT 应用程序的上下文中,这比使用 JSNI 更干净。
您说得对,在 HTML 文件前面添加 <script> 标记可能会导致性能问题。
【解决方案2】:
使用 ScriptInjector 的优点是
- ScriptInjector 根据可以注入脚本(js)的条件动态创建脚本标签并附加到DOM含义。
- 如果我们在主机页面上包含大量脚本标签,这将花费大量时间来加载脚本标签(而且它会阻塞直到它被执行)。
【解决方案3】:
您已经描述了其中一项关键优势。
另一个优点是某些脚本可能永远不会被使用。例如,您可能有一个集成 Google Wallet 支付或 Facebook 登录的脚本,但并非每个用户每次都需要这些功能。所以没有理由在实际需要之前加载这些脚本。