2013-07-11 41 views
1

在JSNI方法中使用JS庫的GWT應用程序中,在GWT應用程序nocache.jsnocache.js之前放置Javascript(.js)庫有什麼區別。GWT HTML中的Javascript放置

是否影響閹一個JSNI方法是功能性或不?

回答

1

普通<script>標籤被阻斷,但GWT腳本標籤不是,因爲它被取出異步(即,非阻塞)。 onModuleLoad()僅在正文已被解析時被調用(即,腳本已被提取)。因此:

  • 把它作爲列表中的第一個腳本:您將節省時間;當onModuleLoad()
  • <script>標籤將永遠被載入。

看一看here

2

這真的取決於當加載JSNI方法上。

爲了安全起見 - 經常檢查,看看你正在使用JS LIB已經加載。例如

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

(編輯 - 感謝其他答案澄清負荷序列)

1

onModuleLoad總是叫在或DOMContentLoaded後,你的腳本已加載在此之後總是會發生(因爲他們可以做document.write()),除非您將它們加載到asyncdefer

所以,除非你有asyncdefer加載「其他JS」,它真的不應該的問題以何種順序加載它們,onModuleLoad應該總是被稱爲後都裝載。