Frage

Der folgende gwt JSNI Methodencode nur „funktioniert“, wenn ich Firebug geöffnet habe, nehme ich an, weil seine Seite lange genug Rendering Verlangsamung für die externe js Dateien zu beenden Läden.

Was mache ich falsch, dass es nicht für die jQuery-Plugin zu beenden Läden warten, bevor sie ausgeführt werden versuchen?

private native void makeHtml(Element element)
/*-{
  $wnd.$().ready(function(){
    try{
      $wnd.$(element).wmd({"preview": true});
      alert(1);
    }
    catch(e)
    {
      alert(e);
    }
  });
}-*/;
War es hilfreich?

Lösung

Ich hatte ein paar Probleme mit jQuery UI in GWT, weil zum Beispiel das Array nicht wie jQuery erweitert wurde (UI?) Benötigt wird (beachten Sie, dass die JSNI Code in einer Sandbox = iframe ausgeführt wird). Versuchen Sie, den problematischen Code in einer Funktion im Haupt / Host-HTML-Seite setzen und rufen Sie es von der Java / GWT-Code über JSNI und $ wnd - ob das hilft, dann könnten Sie auf dem gleichen Problem, das ich konfrontiert suchen (in diesem Fall, dass Sie ‚d wahrscheinlich zu‚exportieren‘haben alle Ihre JSNI Funktionen außerhalb des GWT-Code und wickeln sie sie in JSNI Anrufe).

HTH, wenn nicht, werden wir an etwas anderes denken;)

Andere Tipps

Ihr Widget erstellen Sie eine onLoad() Methode, um die JSNI zu nennen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top