jquery готов, не дожидаясь завершения загрузки плагинов

StackOverflow https://stackoverflow.com/questions/2069138

  •  20-09-2019
  •  | 
  •  

Вопрос

Следующий код метода gwt jsni «работает» только тогда, когда у меня открыт Firebug, я полагаю, потому что он замедляет рендеринг страницы на достаточно долгое время, чтобы внешние js-файлы завершили загрузку.

Что я делаю не так, что не жду завершения загрузки плагина jquery, прежде чем пытаться выполнить?

private native void makeHtml(Element element)
/*-{
  $wnd.$().ready(function(){
    try{
      $wnd.$(element).wmd({"preview": true});
      alert(1);
    }
    catch(e)
    {
      alert(e);
    }
  });
}-*/;
Это было полезно?

Решение

У меня были некоторые проблемы с пользовательским интерфейсом jQuery в GWT, потому что, например, массив не был расширен, как это необходимо jQuery (UI?) (обратите внимание, что код JSNI выполняется в песочнице = iframe).Попробуйте поместить проблемный код в функцию на главной/хостовой HTML-странице и вызвать его из кода Java/GWT через JSNI и $wnd. Если это поможет, возможно, вы столкнулись с той же проблемой, с которой столкнулся я (в этом случае вы вероятно, придется «экспортировать» все ваши функции JSNI за пределы кода GWT и обернуть их в вызовы JSNI).

ХТХ, если нет, то придумаем что-нибудь другое ;)

Другие советы

В вашем виджете создайте onLoad() метод для вызова jsni.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top