在使用JSNI方法中的JS库的GWT应用程序中,在GWT应用程序nocache.js
之前和nocache.js
之后放置Javascript(.js)库有什么区别。
它是否会影响JSNI方法是否有效?
答案 0 :(得分:2)
这实际上取决于加载JSNI方法的时间。
为了安全起见 - 请务必检查您使用的JS库是否已加载。例如
public native static boolean isJqueryMethodLoaded(String method) /*-{
if ($wnd.jQuery && $wnd.jQuery[method]) {
return true;
} else {
return false;
}
}-*/;
(已编辑 - 感谢其他答案以澄清加载顺序)
答案 1 :(得分:1)
onModuleLoad
始终在DOMContentLoaded
或之后调用,这将始终在您的脚本加载后发生(因为它们可以执行document.write()
),除非您使用{{1}加载它们}或async
。
因此,除非您使用defer
或async
加载“其他JS”,否则加载它们的顺序无关紧要,因为应始终调用defer
< em>在之后加载。
答案 2 :(得分:1)
普通<script>
标记是阻塞的,但GWT脚本标记不是,因为它是异步提取的(即非阻塞)。只有在解析了主体(即已提取脚本)时才会调用onModuleLoad()
。因此:
<script>
时,将始终加载onModuleLoad()
个标记。查看here。