1

nocache.js在 GWT 应用程序之前和之后nocache.js在 JSNI 方法中使用 JS 库的 GWT 应用程序中放置 Javascript (.js) 库有什么区别。

它会影响 JSNI 方法的功能吗?

4

3 回答 3

2

这实际上取决于何时加载 JSNI 方法。

为了安全起见 - 始终检查您正在使用的 JS 库是否已加载。例如

public native static boolean isJqueryMethodLoaded(String method) /*-{
  if ($wnd.jQuery && $wnd.jQuery[method]) {
      return true;
   } else {
      return false;
   }
}-*/;

(已编辑 - 感谢其他答案以澄清加载顺序)

于 2013-07-11T04:27:33.660 回答
1

onModuleLoad总是在 或之后被调用DOMContentLoaded,并且这总是在你的脚本加载之后发生(因为它们可以这样做document.write()),除非你用asyncor加载它们defer

因此,除非您使用 or 加载“其他 JS”,否则async加载defer它们的顺序并不重要,因为onModuleLoad应该始终在加载它们之后调用。

于 2013-07-11T09:14:09.490 回答
1

普通<script>标签是阻塞的,但 GWT 脚本标签不是,因为它是异步获取的(即非阻塞)。仅当onModuleLoad()正文已被解析(即,脚本已被获取)时才调用。因此:

  • 将其作为列表中的第一个脚本:您将节省时间;
  • <script>标签将始终在onModuleLoad()被调用时加载。

看看这里

于 2013-07-11T09:17:53.243 回答