GWT сценарий инжектор не синхронно - PullRequest
0 голосов
/ 04 июня 2018
ScriptElement script = Document.get().createScriptElement();
script.setSrc(fileName);        
getBody().appendChild(script);

Я использую приведенный выше код для вставки нескольких javascript в gwt html, но я понял, что он не работает в синхронном режиме, что приводит к запуску некоторого javascript перед другим javascript.Есть ли решение этой проблемы?Спасибо

1 Ответ

0 голосов
/ 04 июня 2018

Вы пытались использовать класс ScriptInjector?

Если вы определяете свой скрипт внутри класса Java, вы можете использовать его следующим образом:

  String scriptBody = "var foo = ...";
  ScriptInjector.fromString(scriptBody).inject();

или,в случае, если вы хотите загрузить его с сервера:

 ScriptInjector.fromUrl("http://example.com/foo.js").setCallback(
   new Callback<Void, Exception>() {
   public void onFailure(Exception reason) {
     Window.alert("Script load failed.");
   }
   public void onSuccess(Void result) {
     Window.alert("Script load success.");
   }
 }).inject();

Важное примечание: Чтобы убедиться, что скрипт загружен, вам нужно вызвать inject().

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...