nocache.js
在 GWT 应用程序之前和之后nocache.js
在 JSNI 方法中使用 JS 库的 GWT 应用程序中放置 Javascript (.js) 库有什么区别。
它会影响 JSNI 方法的功能吗?
这实际上取决于何时加载 JSNI 方法。
为了安全起见 - 始终检查您正在使用的 JS 库是否已加载。例如
public native static boolean isJqueryMethodLoaded(String method) /*-{
if ($wnd.jQuery && $wnd.jQuery[method]) {
return true;
} else {
return false;
}
}-*/;
(已编辑 - 感谢其他答案以澄清加载顺序)
onModuleLoad
总是在 或之后被调用DOMContentLoaded
,并且这总是在你的脚本加载之后发生(因为它们可以这样做document.write()
),除非你用async
or加载它们defer
。
因此,除非您使用 or 加载“其他 JS”,否则async
加载defer
它们的顺序并不重要,因为onModuleLoad
应该始终在加载它们之后调用。
普通<script>
标签是阻塞的,但 GWT 脚本标签不是,因为它是异步获取的(即非阻塞)。仅当onModuleLoad()
正文已被解析(即,脚本已被获取)时才调用。因此:
<script>
标签将始终在onModuleLoad()
被调用时加载。看看这里。