Spec-Zone.ru › OpenJavaFX 8
javafx.scene.web

Класс WebEngine

java.lang.Object
  • javafx.scene.web.WebEngine


public final class WebEngine
extends Object
WebEngine — это невизуальный объект, способный управлять одной веб-страницей за раз. Он загружает веб-страницы, создаёт их модели документов, применяет стили по необходимости и выполняет JavaScript-код на страницах. Он предоставляет доступ к модели документа текущей страницы и обеспечивает двустороннюю связь между приложением Java и JavaScript-кодом страницы.

Загрузка веб-страниц

Класс WebEngine предоставляет два способа загрузки содержимого в объект WebEngine:

  • Из произвольного URL-адреса с помощью метода load(java.lang.String). Этот метод использует пакет java.net для доступа к сети и обработки протоколов.
  • Из строкового значения в памяти с помощью методов loadContent(java.lang.String, java.lang.String) и loadContent(java.lang.String).

Загрузка всегда происходит в фоновом потоке. Методы, инициирующие загрузку, возвращают значение немедленно после планирования фоновой задачи. Чтобы отслеживать прогресс и/или отменять задачу, используйте экземпляр Worker, доступный через метод getLoadWorker().

Следующий пример изменяет заголовок стадии при успешной загрузке:

import javafx.concurrent.Worker.State;
final Stage stage;
webEngine.getLoadWorker().stateProperty().addListener(
        new ChangeListener<State>() {
            public void changed(ObservableValue ov, State oldState, State newState) {
                if (newState == State.SUCCEEDED) {
                    stage.setTitle(webEngine.getLocation());
                }
            }
        });
webEngine.load("http://javafx.com");

Обратные вызовы пользовательского интерфейса

С объектом WebEngine можно зарегистрировать ряд обратных вызовов пользовательского интерфейса. Эти обратные вызовы вызываются, когда скрипт, выполняющийся на странице, запрашивает выполнение операции пользовательского интерфейса, например, открытие всплывающего окна или изменение текста состояния. Объект WebEngine не может обрабатывать такие запросы внутренне, поэтому он передаёт запрос соответствующим обратным вызовам. Если для определённой операции не определён обратный вызов, запрос игнорируется.

В таблице ниже представлены JavaScript-методы и свойства пользовательского интерфейса с соответствующими обратными вызовами WebEngine:

JavaScript-метод/свойство Обратный вызов WebEngine
window.alert() onAlert
window.confirm() confirmHandler
window.open() createPopupHandler
window.open() и
window.close()
onVisibilityChanged
window.prompt() promptHandler
Установление window.status onStatusChanged
Установление любого из следующих:
window.innerWidth, window.innerHeight,
window.outerWidth, window.outerHeight,
window.screenX, window.screenY,
window.screenLeft, window.screenTop
onResized

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

Stage stage;
webEngine.setOnResized(
        new EventHandler<WebEvent<Rectangle2D>>() {
            public void handle(WebEvent<Rectangle2D> ev) {
                Rectangle2D r = ev.getData();
                stage.setWidth(r.getWidth());
                stage.setHeight(r.getHeight());
            }
        });

Доступ к модели документа

Объекты WebEngine создают и управляют моделью Document Object Model (DOM) для своих веб-страниц. Модель можно получить и изменить, используя классы Java DOM Core. Метод getDocument() предоставляет доступ к корню модели. Кроме того, поддерживается спецификация DOM Event для определения обработчиков событий в коде Java.

Следующий пример прикрепляет обработчик событий Java к элементу веб-страницы. Щелчок по элементу приводит к завершению работы приложения:

EventListener listener = new EventListener() {
    public void handleEvent(Event ev) {
        Platform.exit();
    }
};

Document doc = webEngine.getDocument();
Element el = doc.getElementById("exit-app");
((EventTarget) el).addEventListener("click", listener, false);

Вычисление JavaScript-выражений

Можно выполнить произвольный JavaScript-код в контексте текущей страницы, используя метод executeScript(java.lang.String). Например:

webEngine.executeScript("history.back()");

Результат выполнения возвращается вызывающей стороне, как описано в следующем разделе.

Сопоставление JavaScript-значений с объектами Java

JavaScript-значения представляются с помощью соответствующих классов Java: null становится Java null; boolean становится java.lang.Boolean; а строка — java.lang.String. Число может быть java.lang.Double или java.lang.Integer, в зависимости от контекста. Значение undefined сопоставляется со специфичным уникальным объектом String, значение которого равно "undefined".

Если результат — JavaScript-объект, он оборачивается в экземпляр класса JSObject. (В качестве специального случая, если JavaScript-объект является JavaRuntimeObject, как обсуждается в следующем разделе, то вместо этого извлекается исходный объект Java.) Класс JSObject является прокси, который предоставляет доступ к методам и свойствам его базового JavaScript-объекта. Наиболее часто используемые методы класса JSObject — getMember (для чтения именованного свойства), setMember (для установки или определения свойства) и call (для вызова функции-свойства).

DOM-элемент Node сопоставляется с объектом, который расширяет JSObject и реализует соответствующие интерфейсы DOM. Чтобы получить объект JSObject для Node, просто выполните приведение типов:

JSObject jdoc = (JSObject) webEngine.getDocument();

В некоторых случаях контекст предоставляет определенный тип Java, который направляет преобразование. Например, при установке поля Java String из JavaScript-выражения, значение JavaScript преобразуется в строку.

Сопоставление объектов Java со значениями JavaScript

Методы JSObject setMember и call принимают объекты Java в среду JavaScript. Это примерно обратное преобразованию JavaScript в Java, описанному выше: объекты Java String, Number или Boolean преобразуются в соответствующие значения JavaScript. Объект JSObject преобразуется в исходный обернутый объект JavaScript. В противном случае создается объект JavaRuntimeObject. Это объект JavaScript, который действует как прокси для объекта Java, при этом доступ к свойствам объекта JavaRuntimeObject приводит к доступу к полю или методу Java с тем же именем.

Обращение к Java из JavaScript

Метод JSObject.setMember полезен для обработки обратных вызовов из JavaScript в код Java, как показано в следующем примере. Код Java создает новый объект JavaScript под названием app. Этот объект имеет один публичный член — метод exit.

public class JavaApplication {
    public void exit() {
        Platform.exit();
    }
}
...
JSObject window = (JSObject) webEngine.executeScript("window");
window.setMember("app", new JavaApplication());
Затем вы можете обратиться к объекту и методу с вашей HTML-страницы:
<a href="" onclick="app.exit()">Click here to exit application</a>

При нажатии на ссылку приложение закрывается.

Если существует несколько методов Java с данным именем, движок выбирает метод, соответствующий количеству параметров в вызове. (Аргументы varargs не обрабатываются.) Если существует несколько методов с правильным количеством параметров, выбирается неопределённый.

Вы можете выбрать конкретный перегруженный метод, указав типы параметров в «расширенном имени метода», имеющем вид "method_name(param_type1,...,param_typen)". Обычно вы напишете JavaScript-выражение:

receiver["method_name(param_type1,...,param_typeN)"](arg1,...,argN)

Потоки

Объекты WebEngine должны создаваться и использоваться только в потоке приложения JavaFX. Это правило также относится к любым DOM- и JavaScript-объектам, полученным из объекта WebEngine.

С:

JavaFX 2.0

  • Краткое описание свойств

    Все методыМетоды экземпляровКонкретные методы
    Тип Свойство и описание
    ObjectProperty<Callback<String,Boolean>> confirmHandler
    Свойство обработчика JavaScript confirm.
    ObjectProperty<Callback<PopupFeatures,WebEngine>> createPopupHandler
    Свойство обработчика всплывающих окон JavaScript.
    ReadOnlyObjectProperty<Document> document
    Объект документа текущей веб-страницы.
    BooleanProperty javaScriptEnabled
    Указывает, включена ли обработка JavaScript.
    ReadOnlyStringProperty location
    URL текущей веб-страницы.
    ObjectProperty<EventHandler<WebEvent<String>>> onAlert
    Свойство обработчика JavaScript alert.
    ObjectProperty<EventHandler<WebErrorEvent>> onError
    Обработчик событий, вызываемый при возникновении ошибки.
    ObjectProperty<EventHandler<WebEvent<Rectangle2D>>> onResized
    Свойство обработчика изменения размера окна JavaScript.
    ObjectProperty<EventHandler<WebEvent<String>>> onStatusChanged
    Свойство обработчика состояния JavaScript.
    ObjectProperty<EventHandler<WebEvent<Boolean>>> onVisibilityChanged
    Свойство обработчика видимости окна JavaScript.
    ObjectProperty<Callback<PromptData,String>> promptHandler
    Свойство обработчика JavaScript prompt.
    ReadOnlyStringProperty title
    Заголовок текущей веб-страницы.
    StringProperty userAgent
    Указывает строку идентификатора пользовательского агента.
    ObjectProperty<File> userDataDirectory
    Указывает каталог, который будет использоваться этим WebEngine для хранения локальных данных пользователя.
    StringProperty userStyleSheetLocation
    Расположение пользовательского стилистического файла в виде строки URL.
  • Краткое описание конструкторов

    Конструкторы
    Конструктор и описание
    WebEngine()
    Создает новый движок.
    WebEngine(String url)
    Создает новый движок и загружает в него веб-страницу.
  • Краткое описание методов

    Все методыМетоды экземпляраКонкретные методы
    Модификатор и тип Метод и описание
    ObjectProperty<Callback<String,Boolean>> confirmHandlerProperty()
    Свойство обработчика JavaScript confirm.
    ObjectProperty<Callback<PopupFeatures,WebEngine>> createPopupHandlerProperty()
    Свойство обработчика всплывающих окон JavaScript.
    ReadOnlyObjectProperty<Document> documentProperty()
    Объект документа текущей веб-страницы.
    Object executeScript(String script)
    Выполняет скрипт в контексте текущей страницы.
    Callback<String,Boolean> getConfirmHandler()
    Возвращает обработчик JavaScript confirm.
    Callback<PopupFeatures,WebEngine> getCreatePopupHandler()
    Возвращает обработчик всплывающих окон JavaScript.
    Document getDocument()
    Возвращает объект документа текущей веб-страницы.
    WebHistory getHistory()
    Возвращает объект истории сеанса.
    Worker<Void> getLoadWorker()
    Возвращает объект Worker, который можно использовать для отслеживания прогресса загрузки.
    String getLocation()
    Возвращает URL текущей веб-страницы.
    EventHandler<WebEvent<String>> getOnAlert()
    Возвращает обработчик JavaScript alert.
    EventHandler<WebErrorEvent> getOnError()
    Получает значение свойства onError.
    EventHandler<WebEvent<Rectangle2D>> getOnResized()
    Возвращает обработчик изменения размера окна JavaScript.
    EventHandler<WebEvent<String>> getOnStatusChanged()
    Возвращает обработчик состояния JavaScript.
    EventHandler<WebEvent<Boolean>> getOnVisibilityChanged()
    Возвращает обработчик видимости окна JavaScript.
    Callback<PromptData,String> getPromptHandler()
    Возвращает обработчик JavaScript prompt.
    String getTitle()
    Возвращает заголовок текущей веб-страницы.
    String getUserAgent()
    Получает значение свойства userAgent.
    File getUserDataDirectory()
    Получает значение свойства userDataDirectory.
    String getUserStyleSheetLocation()
    Получает значение свойства userStyleSheetLocation.
    boolean isJavaScriptEnabled()
    Получает значение свойства javaScriptEnabled.
    BooleanProperty javaScriptEnabledProperty()
    Указывает, включено ли выполнение JavaScript.
    void load(String url)
    Загружает веб-страницу в этот движок.
    void loadContent(String content)
    Загружает заданный HTML-контент напрямую.
    void loadContent(String content, String contentType)
    Загружает заданный контент напрямую.
    ReadOnlyStringProperty locationProperty()
    URL текущей веб-страницы.
    ObjectProperty<EventHandler<WebEvent<String>>> onAlertProperty()
    Свойство обработчика JavaScript alert.
    ObjectProperty<EventHandler<WebErrorEvent>> onErrorProperty()
    Обработчик событий, вызываемый при возникновении ошибки.
    ObjectProperty<EventHandler<WebEvent<Rectangle2D>>> onResizedProperty()
    Свойство обработчика изменения размера окна JavaScript.
    ObjectProperty<EventHandler<WebEvent<String>>> onStatusChangedProperty()
    Свойство обработчика состояния JavaScript.
    ObjectProperty<EventHandler<WebEvent<Boolean>>> onVisibilityChangedProperty()
    Свойство обработчика видимости окна JavaScript.
    void print(PrinterJob job)
    Печатает текущую веб-страницу с использованием заданной печати.
    ObjectProperty<Callback<PromptData,String>> promptHandlerProperty()
    Свойство обработчика JavaScript prompt.
    void reload()
    Перезагружает текущую страницу, загруженную из URL или непосредственно из строки в одном из методов loadContent.
    void setConfirmHandler(Callback<String,Boolean> handler)
    Устанавливает обработчик JavaScript confirm.
    void setCreatePopupHandler(Callback<PopupFeatures,WebEngine> handler)
    Устанавливает обработчик всплывающих окон JavaScript.
  • void setJavaScriptEnabled(boolean value)
    Устанавливает значение свойства javaScriptEnabled.
    void setOnAlert(EventHandler<WebEvent<String>> handler)
    Устанавливает обработчик JavaScript alert.
    void setOnError(EventHandler<WebErrorEvent> handler)
    Устанавливает значение свойства onError.
    void setOnResized(EventHandler<WebEvent<Rectangle2D>> handler)
    Устанавливает обработчик изменения размера окна JavaScript.
    void setOnStatusChanged(EventHandler<WebEvent<String>> handler)
    Устанавливает обработчик состояния JavaScript.
    void setOnVisibilityChanged(EventHandler<WebEvent<Boolean>> handler)
    Устанавливает обработчик видимости окна JavaScript.
    void setPromptHandler(Callback<PromptData,String> handler)
    Устанавливает обработчик JavaScript prompt.
    void setUserAgent(String value)
    Устанавливает значение свойства userAgent.
    void setUserDataDirectory(File value)
    Устанавливает значение свойства userDataDirectory.
    void setUserStyleSheetLocation(String value)
    Устанавливает значение свойства userStyleSheetLocation.
    ReadOnlyStringProperty titleProperty()
    Название текущей веб-страницы.
    StringProperty userAgentProperty()
    Указывает строку идентификатора пользователя агента.
    ObjectProperty<File> userDataDirectoryProperty()
    Указывает каталог, который будет использоваться этим WebEngine для хранения локальных данных пользователя.
    StringProperty userStyleSheetLocationProperty()
    Расположение пользовательского таблицы стилей как строка URL.
    • Методы, унаследованные от класса java.lang.Object

      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Подробное описание свойства

    • document

      public final ReadOnlyObjectProperty<Document> documentProperty
      Объект документа текущей веб-страницы. Значение равно null, если загрузка веб-страницы завершилась ошибкой.
    • location

      public final ReadOnlyStringProperty locationProperty
      URL текущей веб-страницы. Если текущая страница не имеет URL, значение — пустая строка.
    • title

      public final ReadOnlyStringProperty titleProperty
      Заголовок текущей веб-страницы. Если текущая страница не имеет заголовка, значение равно null.
    • javaScriptEnabled

      public final BooleanProperty javaScriptEnabledProperty
      Указывает, включено ли выполнение JavaScript.

      Значение по умолчанию:

      true

      С:

      JavaFX 2.2

      См. также:

      isJavaScriptEnabled(), setJavaScriptEnabled(boolean)

    • userStyleSheetLocation

      public final StringProperty userStyleSheetLocationProperty
      Расположение пользовательского стильного файла в виде строки URL.

      Это должен быть локальный URL, т.е. либо 'data:', либо 'file:', либо 'jar:'. Удаленные URL по соображениям безопасности недопустимы.

      Значение по умолчанию:

      null

      С:

      JavaFX 2.2

      См. также:

      getUserStyleSheetLocation(), setUserStyleSheetLocation(String)

    • userDataDirectory

      public final ObjectProperty<File> userDataDirectoryProperty
      Указывает каталог, который будет использоваться этим WebEngine для хранения локальных данных пользователя.

      Если значение этого свойства не равно null, WebEngine будет пытаться хранить локальные данные пользователя в соответствующем каталоге. Если значение этого свойства равно null, WebEngine будет пытаться хранить локальные данные пользователя в автоматически выбранном каталоге, зависящем от системы и приложения.

      Когда WebEngine собирается начать загрузку веб-страницы или выполнение скрипта впервые, он проверяет, может ли он фактически использовать каталог, указанный этим свойством. Если проверка по какой-либо причине завершится неудачей, WebEngine вызывает обработчик события WebEngine.onError, если он есть, с WebErrorEvent, описывающим причину. Если вызываемый обработчик события изменяет свойство userDataDirectory, WebEngine повторяет попытку с новым значением сразу после возврата обработчика. Если обработчик не изменяет свойство userDataDirectory (что является значением по умолчанию), WebEngine продолжает работу без локальных данных пользователя.

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

      В настоящее время каталог, указанный этим свойством, используется только для хранения данных, которые поддерживают объекты window.localStorage. В будущем могут быть добавлены другие типы данных.

      Значение по умолчанию:

      null

      С:

      JavaFX 8.0

      См. также:

      getUserDataDirectory(), setUserDataDirectory(File)

    • userAgent

      public final StringProperty userAgentProperty
      Указывает строку идентификатора пользователя. Эта строка является значением заголовка HTTP User-Agent.

      Значение по умолчанию:

      зависит от системы

      С:

      JavaFX 8.0

      См. также:

      getUserAgent(), setUserAgent(String)

    • onAlert

      public final ObjectProperty<EventHandler<WebEvent<String>>> onAlertProperty
      Свойство обработчика JavaScript alert. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функцию alert.

      См. также:

      getOnAlert(), setOnAlert(EventHandler)

    • onStatusChanged

      public final ObjectProperty<EventHandler<WebEvent<String>>> onStatusChangedProperty
      Свойство обработчика статуса JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, устанавливает свойство window.status.

      См. также:

      getOnStatusChanged(), setOnStatusChanged(EventHandler)

    • onResized

      public final ObjectProperty<EventHandler<WebEvent<Rectangle2D>>> onResizedProperty
      Свойство обработчика изменения размера окна JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, перемещает или изменяет размер объекта window.

      См. также:

      getOnResized(), setOnResized(EventHandler)

    • onVisibilityChanged

      public final ObjectProperty<EventHandler<WebEvent<Boolean>>> onVisibilityChangedProperty
      Свойство обработчика видимости окна JavaScript. Этот обработчик вызывается, когда скрипт, работающий на веб-странице, изменяет видимость объекта window.

      См. также:

      getOnVisibilityChanged(), setOnVisibilityChanged(EventHandler)

    • createPopupHandler

      public final ObjectProperty<Callback<PopupFeatures,WebEngine>> createPopupHandlerProperty
      Свойство обработчика всплывающего окна JavaScript. Этот обработчик вызывается, когда скрипт, работающий на веб-странице, запрашивает создание всплывающего окна.

      Для удовлетворения этого запроса обработчик может создать новое WebEngine, подключить обработчик видимости и, необязательно, обработчик изменения размера, и вернуть созданный движок. Для блокировки всплывающего окна обработчик должен вернуть null.

      По умолчанию установлен обработчик всплывающих окон, открывающий их в этом WebEngine.

      См. также:

      getCreatePopupHandler(), setCreatePopupHandler(Callback)

    • confirmHandler

      public final ObjectProperty<Callback<String,Boolean>> confirmHandlerProperty
      Свойство обработчика JavaScript confirm. Этот обработчик вызывается, когда скрипт, работающий на веб-странице, вызывает функцию confirm.

      Реализация может отобразить диалоговое окно с опциями «Да» и «Нет» и вернуть выбор пользователя.

      См. также:

      getConfirmHandler(), setConfirmHandler(Callback)

    • promptHandler

      public final ObjectProperty<Callback<PromptData,String>> promptHandlerProperty
      Свойство обработчика JavaScript prompt. Этот обработчик вызывается, когда скрипт, работающий на веб-странице, вызывает функцию prompt.

      Реализация может отобразить диалоговое окно с текстовым полем и вернуть введенные пользователем данные.

      См. также:

      getPromptHandler(), setPromptHandler(Callback)

    • onError

      public final ObjectProperty<EventHandler<WebErrorEvent>> onErrorProperty
      Обработчик событий, вызываемый при возникновении ошибки.

      Значение по умолчанию:

      null

      С:

      JavaFX 8.0

      См. также:

      getOnError(), setOnError(EventHandler)

  • Подробное описание конструкторов

    • WebEngine

      public WebEngine()
      Создает новый движок.
    • WebEngine

      public WebEngine(String url)
      Создает новый движок и загружает веб-страницу в него.
  • Подробное описание методов

    • getLoadWorker

      public final Worker<Void> getLoadWorker()
      Возвращает объект Worker, который можно использовать для отслеживания прогресса загрузки.
    • getDocument

      public final Document getDocument()
      Возвращает объект документа текущей веб-страницы. Если веб-страница не загрузилась, возвращает null.
    • documentProperty

      public final ReadOnlyObjectProperty<Document> documentProperty()
      Объект документа текущей веб-страницы. Значение равно null, если веб-страница не загрузилась.
    • getLocation

      public final String getLocation()
      Возвращает URL текущей веб-страницы. Если у текущей страницы нет URL, возвращает пустую строку.
    • locationProperty

      public final ReadOnlyStringProperty locationProperty()
      URL текущей веб-страницы. Если у текущей страницы нет URL, значение равно пустой строке.
    • getTitle

      public final String getTitle()
      Возвращает заголовок текущей веб-страницы. Если у текущей страницы нет заголовка, возвращает null.
    • titleProperty

      public final ReadOnlyStringProperty titleProperty()
      Заголовок текущей веб-страницы. Если у текущей страницы нет заголовка, значение равно null.
    • setJavaScriptEnabled

      public final void setJavaScriptEnabled(boolean value)
      Устанавливает значение свойства javaScriptEnabled.

      Описание свойства:

      Указывает, разрешена ли обработка JavaScript.

      Значение по умолчанию:

      true

      С версии:

      JavaFX 2.2

    • isJavaScriptEnabled

      public final boolean isJavaScriptEnabled()
      Получает значение свойства javaScriptEnabled.

      Описание свойства:

      Указывает, разрешена ли обработка JavaScript.

      Значение по умолчанию:

      true

      С версии:

      JavaFX 2.2

    • javaScriptEnabledProperty

      public final BooleanProperty javaScriptEnabledProperty()
      Указывает, разрешена ли обработка JavaScript.

      Значение по умолчанию:

      true

      С версии:

      JavaFX 2.2

      См. также:

      isJavaScriptEnabled(), setJavaScriptEnabled(boolean)

    • setUserStyleSheetLocation

      public final void setUserStyleSheetLocation(String value)
      Устанавливает значение свойства userStyleSheetLocation.

      Описание свойства:

      Расположение пользовательского стильного файла в виде строки URL.

      Это должен быть локальный URL, т.е. либо 'data:', либо 'file:', либо 'jar:'. Для обеспечения безопасности удаленные URL недопустимы.

      Значение по умолчанию:

      null

      С версии:

      JavaFX 2.2

    • getUserStyleSheetLocation

      public final String getUserStyleSheetLocation()
      Получает значение свойства userStyleSheetLocation.

      Описание свойства:

      Расположение пользовательского стильного файла в виде строки URL.

      Это должен быть локальный URL, т.е. либо 'data:', либо 'file:', либо 'jar:'. Для обеспечения безопасности удаленные URL недопустимы.

      Значение по умолчанию:

      null

      С версии:

      JavaFX 2.2

    • userStyleSheetLocationProperty

      public final StringProperty userStyleSheetLocationProperty()
      Расположение пользовательского стильного файла в виде строки URL.

      Это должен быть локальный URL, т.е. либо 'data:', либо 'file:', либо 'jar:'. Для обеспечения безопасности удаленные URL недопустимы.

      Значение по умолчанию:

      null

      С версии:

      JavaFX 2.2

      См. также:

      getUserStyleSheetLocation(), setUserStyleSheetLocation(String)

    • getUserDataDirectory

      public final File getUserDataDirectory()
      Получает значение свойства userDataDirectory.

      Описание свойства:

      Указывает каталог, который будет использоваться этим WebEngine для хранения локальных данных пользователя.

      Если значение этого свойства не null, то WebEngine попытается сохранить локальные данные пользователя в соответствующем каталоге. Если значение этого свойства равно null, то WebEngine попытается сохранить локальные данные пользователя в автоматически выбранном, зависящем от системы, каталоге, специфичном для пользователя и приложения.

      Когда WebEngine собирается начать загрузку веб-страницы или выполнение скрипта в первый раз, он проверяет, может ли он фактически использовать каталог, указанный этим свойством. Если проверка по какой-либо причине завершится неудачно, WebEngine вызывает обработчик события WebEngine.onError, если таковой имеется, с WebErrorEvent, описывающим причину. Если вызванный обработчик изменяет свойство userDataDirectory, WebEngine повторно пытается выполнить операцию с новым значением, как только обработчик вернёт результат. Если обработчик не изменяет свойство userDataDirectory (что является значением по умолчанию), WebEngine продолжает работу без локальных данных пользователя.

      После того, как WebEngine начал загрузку веб-страницы или выполнение скрипта, изменения, внесённые в это свойство, не влияют на то, где WebEngine хранит или будет хранить локальные данные пользователя.

      В настоящее время каталог, указанный этим свойством, используется только для хранения данных, которые поддерживают объекты window.localStorage. В будущем могут быть добавлены другие типы данных.

      Значение по умолчанию:

      null

      С версии:

      JavaFX 8.0

    • setUserDataDirectory

      public final void setUserDataDirectory(File value)
      Устанавливает значение свойства userDataDirectory.

      Описание свойства:

      Указывает каталог, который будет использоваться этим WebEngine для хранения локальных данных пользователя.

      Если значение этого свойства не null, то WebEngine попытается сохранить локальные данные пользователя в соответствующем каталоге. Если значение этого свойства равно null, то WebEngine попытается сохранить локальные данные пользователя в автоматически выбранном, зависящем от системы, каталоге, специфичном для пользователя и приложения.

      Когда WebEngine собирается начать загрузку веб-страницы или выполнение скрипта в первый раз, он проверяет, может ли он фактически использовать каталог, указанный этим свойством. Если проверка по какой-либо причине завершится неудачно, WebEngine вызывает обработчик события WebEngine.onError, если таковой имеется, с WebErrorEvent, описывающим причину. Если вызванный обработчик изменяет свойство userDataDirectory, WebEngine повторно пытается выполнить операцию с новым значением, как только обработчик вернёт результат. Если обработчик не изменяет свойство userDataDirectory (что является значением по умолчанию), WebEngine продолжает работу без локальных данных пользователя.

      После того, как WebEngine начал загрузку веб-страницы или выполнение скрипта, изменения, внесённые в это свойство, не влияют на то, где WebEngine хранит или будет хранить локальные данные пользователя.

      В настоящее время каталог, указанный этим свойством, используется только для хранения данных, которые поддерживают объекты window.localStorage. В будущем могут быть добавлены другие типы данных.

      Значение по умолчанию:

      null

      С версии:

      JavaFX 8.0

    • userDataDirectoryProperty

      public final ObjectProperty<File> userDataDirectoryProperty()
      Указывает директорию, используемую этим WebEngine для хранения локальных данных пользователя.

      Если значение этого свойства не null, то WebEngine будет пытаться сохранить локальные данные пользователя в соответствующей директории. Если значение этого свойства null, то WebEngine будет пытаться сохранить локальные данные пользователя в автоматически выбранной системезависимой директории, специфичной для пользователя и приложения.

      Когда WebEngine собирается начать загрузку веб-страницы или выполнение сценария в первый раз, он проверяет, может ли он фактически использовать директорию, указанную этим свойством. Если проверка по какой-либо причине завершается неудачно, WebEngine вызывает обработчик события WebEngine.onError, если он существует, с WebErrorEvent, описывающим причину. Если вызванный обработчик события изменяет свойство userDataDirectory, то WebEngine повторно пытается с новым значением сразу после возвращения обработчика. Если обработчик не изменяет свойство userDataDirectory (что является значением по умолчанию), WebEngine продолжает работу без локальных данных пользователя.

      После того, как WebEngine начал загрузку веб-страницы или выполнение сценария, внесённые изменения в это свойство не влияют на то, где WebEngine хранит или будет хранить локальные данные пользователя.

      В настоящее время указанная этим свойством директория используется только для хранения данных, которые поддерживают объекты window.localStorage. В будущем могут быть добавлены другие типы данных.

      Значение по умолчанию:

      null

      С:

      JavaFX 8.0

      См. также:

      getUserDataDirectory(), setUserDataDirectory(File)

    • setUserAgent

      public final void setUserAgent(String value)
      Устанавливает значение свойства userAgent.

      Описание свойства:

      Указывает строку идентификатора пользовательского агента. Эта строка является значением заголовка User-Agent HTTP.

      Значение по умолчанию:

      зависит от системы

      С:

      JavaFX 8.0

    • getUserAgent

      public final String getUserAgent()
      Получает значение свойства userAgent.

      Описание свойства:

      Указывает строку идентификатора пользовательского агента. Эта строка является значением заголовка User-Agent HTTP.

      Значение по умолчанию:

      зависит от системы

      С:

      JavaFX 8.0

    • userAgentProperty

      public final StringProperty userAgentProperty()
      Указывает строку идентификатора пользовательского агента. Эта строка является значением заголовка User-Agent HTTP.

      Значение по умолчанию:

      зависит от системы

      С:

      JavaFX 8.0

      См. также:

      getUserAgent(), setUserAgent(String)

    • getOnAlert

      public final EventHandler<WebEvent<String>> getOnAlert()
      Возвращает обработчик JavaScript alert.

      См. также:

      onAlertProperty(), setOnAlert(javafx.event.EventHandler<javafx.scene.web.WebEvent<java.lang.String>>)

    • setOnAlert

      public final void setOnAlert(EventHandler<WebEvent<String>> handler)
      Устанавливает обработчик JavaScript alert.

      См. также:

      onAlertProperty(), getOnAlert()

    • onAlertProperty

      public final ObjectProperty<EventHandler<WebEvent<String>>> onAlertProperty()
      Свойство обработчика JavaScript alert. Этот обработчик вызывается, когда сценарий, выполняющийся на веб-странице, вызывает функцию alert.

      См. также:

      getOnAlert(), setOnAlert(EventHandler)

    • getOnStatusChanged

      public final EventHandler<WebEvent<String>> getOnStatusChanged()
      Возвращает обработчик статуса JavaScript.

      См. также:

      onStatusChangedProperty(), setOnStatusChanged(javafx.event.EventHandler<javafx.scene.web.WebEvent<java.lang.String>>)

    • setOnStatusChanged

      public final void setOnStatusChanged(EventHandler<WebEvent<String>> handler)
      Устанавливает обработчик статуса JavaScript.

      См. также:

      onStatusChangedProperty(), getOnStatusChanged()

    • onStatusChangedProperty

      public final ObjectProperty<EventHandler<WebEvent<String>>> onStatusChangedProperty()
      Свойство обработчика статуса JavaScript. Этот обработчик вызывается, когда сценарий, выполняющийся на веб-странице, устанавливает свойство window.status.

      См. также:

      getOnStatusChanged(), setOnStatusChanged(EventHandler)

    • getOnResized

      public final EventHandler<WebEvent<Rectangle2D>> getOnResized()
      Возвращает обработчик изменения размера окна JavaScript.

      См. также:

      onResizedProperty(), setOnResized(javafx.event.EventHandler<javafx.scene.web.WebEvent<javafx.geometry.Rectangle2D>>)

    • setOnResized

      public final void setOnResized(EventHandler<WebEvent<Rectangle2D>> handler)
      Устанавливает обработчик изменения размера окна JavaScript.

      См. также:

      onResizedProperty(), getOnResized()

    • onResizedProperty

      public final ObjectProperty<EventHandler<WebEvent<Rectangle2D>>> onResizedProperty()
      Свойство обработчика изменения размера окна JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, перемещает или изменяет размер объекта window.

      См. также:

      getOnResized(), setOnResized(EventHandler)

    • getOnVisibilityChanged

      public final EventHandler<WebEvent<Boolean>> getOnVisibilityChanged()
      Возвращает обработчик видимости окна JavaScript.

      См. также:

      onVisibilityChangedProperty(), setOnVisibilityChanged(javafx.event.EventHandler<javafx.scene.web.WebEvent<java.lang.Boolean>>)

    • setOnVisibilityChanged

      public final void setOnVisibilityChanged(EventHandler<WebEvent<Boolean>> handler)
      Устанавливает обработчик видимости окна JavaScript.

      См. также:

      onVisibilityChangedProperty(), getOnVisibilityChanged()

    • onVisibilityChangedProperty

      public final ObjectProperty<EventHandler<WebEvent<Boolean>>> onVisibilityChangedProperty()
      Свойство обработчика видимости окна JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, изменяет видимость объекта window.

      См. также:

      getOnVisibilityChanged(), setOnVisibilityChanged(EventHandler)

    • getCreatePopupHandler

      public final Callback<PopupFeatures,WebEngine> getCreatePopupHandler()
      Возвращает обработчик всплывающих окон JavaScript.

      См. также:

      createPopupHandlerProperty(), setCreatePopupHandler(javafx.util.Callback<javafx.scene.web.PopupFeatures, javafx.scene.web.WebEngine>)

    • setCreatePopupHandler

      public final void setCreatePopupHandler(Callback<PopupFeatures,WebEngine> handler)
      Устанавливает обработчик всплывающих окон JavaScript.

      См. также:

      createPopupHandlerProperty(), getCreatePopupHandler(), PopupFeatures

    • createPopupHandlerProperty

      public final ObjectProperty<Callback<PopupFeatures,WebEngine>> createPopupHandlerProperty()
      Свойство обработчика всплывающих окон JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, запрашивает создание всплывающего окна.

      Для обработки этого запроса обработчик может создать новое WebEngine, подключить обработчик видимости и необязательно обработчик изменения размера, и вернуть созданный движок. Чтобы заблокировать всплывающее окно, обработчик должен вернуть null.

      По умолчанию установлен обработчик всплывающих окон, открывающий всплывающие окна в этом WebEngine.

      См. также:

      getCreatePopupHandler(), setCreatePopupHandler(Callback)

    • getConfirmHandler

      public final Callback<String,Boolean> getConfirmHandler()
      Возвращает обработчик JavaScript confirm.

      См. также:

      confirmHandlerProperty(), setConfirmHandler(javafx.util.Callback<java.lang.String, java.lang.Boolean>)

    • setConfirmHandler

      public final void setConfirmHandler(Callback<String,Boolean> handler)
      Устанавливает обработчик JavaScript confirm.

      См. также:

      confirmHandlerProperty(), getConfirmHandler()

    • confirmHandlerProperty

      public final ObjectProperty<Callback<String,Boolean>> confirmHandlerProperty()
      Свойство обработчика JavaScript confirm. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функцию confirm.

      Реализация может отобразить диалоговое окно с вариантами «Да» и «Нет» и вернуть выбор пользователя.

      См. также:

      getConfirmHandler(), setConfirmHandler(Callback)

    • getPromptHandler

      public final Callback<PromptData,String> getPromptHandler()
      Возвращает обработчик JavaScript prompt.

      См. также:

      promptHandlerProperty(), setPromptHandler(javafx.util.Callback<javafx.scene.web.PromptData, java.lang.String>), PromptData

    • setPromptHandler

      public final void setPromptHandler(Callback<PromptData,String> handler)
      Устанавливает JavaScript prompt обработчик.

      См. также:

      promptHandlerProperty(), getPromptHandler(), PromptData

    • promptHandlerProperty

      public final ObjectProperty<Callback<PromptData,String>> promptHandlerProperty()
      Свойство JavaScript prompt обработчика. Этот обработчик вызывается, когда скрипт, выполняемый на веб-странице, вызывает функцию prompt.

      Реализация может отобразить диалоговое окно со строкой ввода и вернуть введённые пользователем данные.

      См. также:

      getPromptHandler(), setPromptHandler(Callback)

    • getOnError

      public final EventHandler<WebErrorEvent> getOnError()
      Возвращает значение свойства onError.

      Описание свойства:

      Обработчик событий, вызываемый при возникновении ошибки.

      Значение по умолчанию:

      null

      С момента:

      JavaFX 8.0

    • setOnError

      public final void setOnError(EventHandler<WebErrorEvent> handler)
      Устанавливает значение свойства onError.

      Описание свойства:

      Обработчик событий, вызываемый при возникновении ошибки.

      Значение по умолчанию:

      null

      С момента:

      JavaFX 8.0

    • onErrorProperty

      public final ObjectProperty<EventHandler<WebErrorEvent>> onErrorProperty()
      Обработчик событий, вызываемый при возникновении ошибки.

      Значение по умолчанию:

      null

      С момента:

      JavaFX 8.0

      См. также:

      getOnError(), setOnError(EventHandler)

    • load

      public void load(String url)
      Загружает веб-страницу в этот движок. Этот метод запускает асинхронную загрузку и возвращается сразу.

      Параметры:

      url - URL веб-страницы для загрузки

    • loadContent

      public void loadContent(String content)
      Загружает заданное содержимое HTML напрямую. Этот метод полезен, когда у вас есть строка HTML, сформированная в памяти или загруженная из системы, недоступной через URL (например, текст HTML может быть получен из базы данных). Как и в случае с load(String), этот метод асинхронный.
    • loadContent

      public void loadContent(String content,
                              String contentType)
      Загружает заданное содержимое напрямую. Этот метод полезен, когда у вас есть содержимое, сформированное в памяти или загруженное из системы, недоступной по URL (например, текст SVG может быть получен из базы данных). Как и в случае с load(String), этот метод асинхронный. Этот метод также позволяет указать тип содержимого загружаемой строки и, таким образом, может поддерживать другие типы, кроме HTML.
    • reload

      public void reload()
      Перезагружает текущую страницу, загруженную по URL или непосредственно из строки в одном из loadContent методов.
    • getHistory

      public WebHistory getHistory()
      Возвращает объект истории сессии.

      Возвращает:

      объект истории

      С момента:

      JavaFX 2.2

    • executeScript

      public Object executeScript(String script)
      Выполняет скрипт в контексте текущей страницы.

      Возвращает:

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

      • JavaScript Int32 преобразуется в java.lang.Integer
      • Другие JavaScript числа в java.lang.Double
      • JavaScript строка в java.lang.String
      • JavaScript булево значение в java.lang.Boolean
      • JavaScript null в null
      • Большинство JavaScript объектов оборачиваются как netscape.javascript.JSObject
      • JavaScript объекты JSNode отображаются в экземпляры netscape.javascript.JSObject, которые также реализуют org.w3c.dom.Node
      • Особый случай - JavaScript класс JavaRuntimeObject, который используется для обертывания объекта Java в JavaScript значение - в этом случае мы просто извлекаем исходное значение Java.

    • print

      public void print(PrinterJob job)
      Печатает текущую веб-страницу с использованием заданной работы принтера.

      Этот метод не изменяет состояние задачи, а также не вызывает PrinterJob.endJob(), поэтому задачу можно безопасно повторно использовать после этого.

      Параметры:

      job - задача печати используемого для печати принтера

      С момента:

      JavaFX 8.0

© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API