Как поймать и исправить причину, по которой WebView не показывает веб-контент с помощью JS - PullRequest
0 голосов
/ 15 апреля 2019

У меня есть простое приложение JavaFX с элементом WebView в форме, и я загружаю веб-контент с ace-editor в этот элемент.
В результате на моей форме ПК отображается содержимое в стиле ace-editor, но на компьютере моего коллеги этот стиль JS не отображается.
Я ищу способ выяснить причину этой проблемы.

Я попытался проверить это на своем ноутбуке, домашнем ПК и рабочем ПК - он работает без проблем. Кроме того, я думал, что консоль может показать мне некоторую ошибку, но ошибок нет.

Я знаю только, что проблема не зависит от платформы (я проверил ее в Windows 10, и у моего коллеги те же окна - разница только между антивирусами, но если мой коллега запускает чистый HTML с тем же кодом, он будет работать, как и ожидалось) - со стилями).

Существует процедура initialize, в которой я устанавливаю содержимое

@FXML
public void initialize() {
    wbView.getEngine().loadContent(content);
}

Я не могу разместить здесь полный HTML-контент. И я думаю, что это не имеет значения, потому что на моем компьютере это работает в любом случае.

В результате на моем компьютере это выглядит так:
onMyPc

На компьютере моего коллеги (но должно быть как на моем): onColleaguePc

UPD # 1
Я пытался добавить этот код.

public void initialize() {
    wbView.getEngine().loadContent(content);
    System.out.println("Errors from wbView: " + wbView.getEngine().onErrorProperty());

    System.out.println("worker error : " + wbView.getEngine().getLoadWorker().getMessage());

    wbView.getEngine().getLoadWorker().stateProperty().addListener(
            new ChangeListener<State>() {
                public void changed(ObservableValue ov, State oldState, State newState) {
                    if (newState == State.SUCCEEDED) {
                        System.out.println("load state: "+ newState);
                    }
                }
            });
}

В результате:

Ошибки из wbView: ObjectProperty [bean: javafx.scene.web.WebEngine@13d4522, имя: onError, значение: null]
рабочая ошибка: загрузка
состояние нагрузки: УСПЕШНО

...