Класс 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 создают и управляют моделью объекта документа (DOM) для своих веб-страниц. Модель можно получить и изменить с помощью классов Java DOM Core. Метод getDocument() предоставляет доступ к корню модели. Кроме того, поддерживается спецификация событий DOM для определения обработчиков событий в коде 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 отображается в виде уникального строкового объекта со значением "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, связанные с помощью JSObject.setMember, JSObject.setSlot и JSObject.call, реализуются с использованием слабых ссылок. Это означает, что объект Java может быть удалён сборщиком мусора, что приводит к тому, что последующие обращения к JavaScript-объектам не будут иметь никакого эффекта.
Вызов Java из JavaScript
Метод JSObject.setMember полезен для активации обратных вызовов из JavaScript в код Java, как показано в следующем примере. Java-код создаёт новый JavaScript-объект под названием app. Этот объект имеет один публичный член — метод exit.
public class JavaApplication {
public void exit() {
Platform.exit();
}
}
...
JavaApplication javaApp = new JavaApplication();
JSObject window = (JSObject) webEngine.executeScript("window");
window.setMember("app", javaApp);
Вы затем можете обратиться к объекту и методу с вашей HTML-страницы:
<a href="" onclick="app.exit()">Click here to exit application</a>
При нажатии ссылки приложение закрывается.
Обратите внимание, что в приведённом примере приложение содержит ссылку на экземпляр JavaApplication. Это необходимо для того, чтобы обратный вызов из JavaScript выполнил нужный метод.
В следующем примере приложение не содержит ссылки на объект Java:
JSObject window = (JSObject) webEngine.executeScript("window");
window.setMember("app", new JavaApplication());
В этом случае, поскольку значение свойства — локальный объект, "new JavaApplication()", он может быть удалён сборщиком мусора в следующем цикле.
При нажатии пользователем ссылки нет гарантии, что будет вызван метод обратного вызова exit.
Если существует несколько методов Java с заданным именем, то движок выбирает тот, который соответствует количеству параметров в вызове. (Переменные с аргументами не обрабатываются.) Если существует несколько методов с правильным количеством параметров, выбирается неопределённый.
Вы можете выбрать конкретный перегруженный метод, указав типы параметров в "расширенном имени метода", имеющем форму "method_name(param_type1,...,param_typen)". Обычно вы бы написали JavaScript-выражение:
receiver["method_name(param_type1,...,param_typeN)"](arg1,...,argN)
Класс и метод Java должны быть объявлены как public.
Развёртывание приложения как модуля
Если какой-либо класс Java, переданный в JavaScript, находится в именованном модуле, он должен быть доступен для рефлексивного использования модулем javafx.web. Класс доступен для рефлексии, если модуль opens содержащий пакет, по крайней мере, модулю javafx.web. В противном случае метод не будет вызван, и не будет выведено никаких ошибок или предупреждений.
Например, если com.foo.MyClass находится в модуле foo.app, то module-info.java может выглядеть следующим образом:
module foo.app {
opens com.foo to javafx.web;
} В качестве альтернативы, класс доступен для рефлексии, если модуль exports содержащий пакет без каких-либо ограничений.
Начиная с JavaFX 14, добавлена поддержка HTTP/2 для WebEngine. Это достигается путём использования HttpClient вместо URLConnection. HTTP/2 активирован по умолчанию, когда JavaFX 14 (или более поздняя версия) используется с JDK 12 (или более поздней версией).
Потоки
Объекты WebEngine должны создаваться и использоваться исключительно из потока приложения JavaFX. Это правило также распространяется на любые объекты DOM и JavaScript, полученные из объекта WebEngine.
- Since:
- JavaFX 2.0
Краткое описание свойств
| Тип | Свойство | Описание |
|---|---|---|
final ObjectProperty |
confirmHandler |
Свойство обработчика JavaScript confirm. |
final ObjectProperty |
createPopupHandler |
Свойство обработчика всплывающего окна JavaScript. |
final ReadOnlyObjectProperty |
document |
Объект документа текущей веб-страницы. |
final BooleanProperty |
javaScriptEnabled |
Указывает, разрешено ли выполнение JavaScript. |
final ReadOnlyStringProperty |
location |
URL текущей веб-страницы. |
final ObjectProperty |
onAlert |
Свойство обработчика JavaScript alert. |
final ObjectProperty |
onError |
Обработчик событий, вызываемый при возникновении ошибки. |
final ObjectProperty |
onResized |
Свойство обработчика изменения размера окна JavaScript. |
final ObjectProperty |
onStatusChanged |
Свойство обработчика статуса JavaScript. |
final ObjectProperty |
onVisibilityChanged |
Свойство обработчика видимости окна JavaScript. |
final ObjectProperty |
promptHandler |
Свойство обработчика JavaScript prompt. |
final ReadOnlyStringProperty |
title |
Заголовок текущей веб-страницы. |
final StringProperty |
userAgent |
Строка идентификатора пользовательского агента. |
final ObjectProperty |
userDataDirectory |
Указывает каталог, который будет использоваться этим WebEngine для хранения локальных данных пользователя. |
final StringProperty |
userStyleSheetLocation |
Расположение пользовательского стильного файла в виде строчного URL. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
WebEngine() |
Создает новый движок. |
WebEngine |
Создает новый движок и загружает в него веб-страницу. |
Краткое описание методов
| Modifier and Type | Method | Description |
|---|---|---|
final ObjectProperty |
confirmHandlerProperty() |
Свойство обработчика JavaScript confirm. |
final ObjectProperty |
createPopupHandlerProperty() |
Свойство обработчика всплывающих окон JavaScript. |
final ReadOnlyObjectProperty |
documentProperty() |
Объект документа текущей веб-страницы. |
Object |
executeScript |
Выполняет скрипт в контексте текущей страницы. |
final Callback |
getConfirmHandler() |
Получает значение свойства confirmHandler. |
final Callback |
getCreatePopupHandler() |
Получает значение свойства createPopupHandler. |
final Document |
getDocument() |
Получает значение свойства document. |
WebHistory |
getHistory() |
Возвращает объект истории сеанса. |
final Worker |
getLoadWorker() |
Возвращает объект Worker, который можно использовать для отслеживания прогресса загрузки. |
final String |
getLocation() |
Получает значение свойства location. |
final EventHandler |
getOnAlert() |
Получает значение свойства onAlert. |
final EventHandler |
getOnError() |
Получает значение свойства onError. |
final EventHandler |
getOnResized() |
Получает значение свойства onResized. |
final EventHandler |
getOnStatusChanged() |
Получает значение свойства onStatusChanged. |
final EventHandler |
getOnVisibilityChanged() |
Получает значение свойства onVisibilityChanged. |
final Callback |
getPromptHandler() |
Получает значение свойства promptHandler. |
final String |
getTitle() |
Получает значение свойства title. |
final String |
getUserAgent() |
Получает значение свойства userAgent. |
final File |
getUserDataDirectory() |
Получает значение свойства userDataDirectory. |
final String |
getUserStyleSheetLocation() |
Получает значение свойства userStyleSheetLocation. |
final boolean |
isJavaScriptEnabled() |
Получает значение свойства javaScriptEnabled. |
final BooleanProperty |
javaScriptEnabledProperty() |
Указывает, разрешена ли обработка JavaScript. |
void |
load |
Загружает веб-страницу в этот движок. |
void |
loadContent |
Загружает заданное содержимое HTML напрямую. |
void |
loadContent |
Загружает заданное содержимое напрямую. |
final ReadOnlyStringProperty |
locationProperty() |
URL текущей веб-страницы. |
final ObjectProperty |
onAlertProperty() |
Свойство обработчика JavaScript alert. |
final ObjectProperty |
onErrorProperty() |
Обработчик событий, вызываемый при возникновении ошибки. |
final ObjectProperty |
onResizedProperty() |
Свойство обработчика изменения размера окна JavaScript. |
final ObjectProperty |
onStatusChangedProperty() |
Свойство обработчика состояния JavaScript. |
final ObjectProperty |
onVisibilityChangedProperty() |
Свойство обработчика видимости окна JavaScript. |
void |
print |
Печатает текущую веб-страницу с помощью заданного задания печати. |
final ObjectProperty |
promptHandlerProperty() |
Свойство обработчика JavaScript prompt. |
void |
reload() |
Перезагружает текущую страницу, загруженную по URL или напрямую из строки в одном из методов loadContent. |
final void |
setConfirmHandler |
Устанавливает значение свойства confirmHandler. |
final void |
setCreatePopupHandler |
Устанавливает значение свойства createPopupHandler. |
final void |
setJavaScriptEnabled |
Устанавливает значение свойства javaScriptEnabled. |
final void |
setOnAlert |
Устанавливает значение свойства onAlert. |
final void |
setOnError |
Устанавливает значение свойства onError. |
final void |
setOnResized |
Устанавливает значение свойства onResized. |
final void |
setOnStatusChanged |
Устанавливает значение свойства onStatusChanged. |
final void |
setOnVisibilityChanged |
Устанавливает значение свойства onVisibilityChanged. |
final void |
setPromptHandler |
Устанавливает значение свойства promptHandler. |
final void |
setUserAgent |
Устанавливает значение свойства userAgent. |
final void |
setUserDataDirectory |
Устанавливает значение свойства userDataDirectory. |
final void |
setUserStyleSheetLocation |
Устанавливает значение свойства userStyleSheetLocation. |
final ReadOnlyStringProperty |
titleProperty() |
Заголовок текущей веб-страницы. |
final StringProperty |
userAgentProperty() |
Указывает строку идентификатора пользователя агента. |
final ObjectProperty |
userDataDirectoryProperty() |
Указывает директорию, которую будет использовать этот WebEngine для хранения локальных данных пользователя. |
final StringProperty |
userStyleSheetLocationProperty() |
Расположение пользовательского файла стилей как строка URL. |
Подробное описание свойств
document
public final ReadOnlyObjectProperty<Document> documentProperty
null, если загрузка веб-страницы завершилась ошибкой.- См. также:
location
public final ReadOnlyStringProperty locationProperty
- См. также:
title
public final ReadOnlyStringProperty titleProperty
null. Это свойство будет обновлено асинхронно некоторое время после загрузки страницы. Приложения не должны полагаться на определенное время, а должны отслеживать изменения в этом свойстве или привязаться к нему, чтобы знать, когда оно было обновлено.- См. также:
javaScriptEnabled
public final BooleanProperty javaScriptEnabledProperty
- Значение по умолчанию:
- true
- С версии:
- JavaFX 2.2
- См. также:
userStyleSheetLocation
public final StringProperty userStyleSheetLocationProperty
Это должен быть локальный URL, т.е. либо 'data:', либо 'file:', либо 'jar:', либо 'jrt:'. Для соображений безопасности удалённые URL не разрешены.
- Значение по умолчанию:
- null
- С версии:
- JavaFX 2.2
- См. также:
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
- См. также:
userAgent
public final StringProperty userAgentProperty
User-Agent HTTP.- Значение по умолчанию:
- зависит от системы
- С версии:
- JavaFX 8.0
- См. также:
onAlert
public final ObjectProperty<EventHandler<WebEvent<String>>> onAlertProperty
alert. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функцию alert.- См. также:
onStatusChanged
public final ObjectProperty<EventHandler<WebEvent<String>>> onStatusChangedProperty
window.status.- См. также:
onResized
public final ObjectProperty<EventHandler<WebEvent<Rectangle2D>>> onResizedProperty
window.- См. также:
onVisibilityChanged
public final ObjectProperty<EventHandler<WebEvent<Boolean>>> onVisibilityChangedProperty
window.- См. также:
createPopupHandler
public final ObjectProperty<Callback<PopupFeatures,WebEngine>> createPopupHandlerProperty
Для удовлетворения этого запроса обработчик может создать новый WebEngine, добавить обработчик видимости и необязательно обработчик изменения размера, и вернуть созданный движок. Чтобы заблокировать всплывающее окно, обработчик должен вернуть null.
По умолчанию установлен обработчик всплывающих окон, который открывает всплывающие окна в этом WebEngine.
- См. также:
confirmHandler
public final ObjectProperty<Callback<String,Boolean>> confirmHandlerProperty
confirm. Реализация может отобразить диалоговое окно с вариантами «Да» и «Нет» и вернуть выбор пользователя.
- См. также:
promptHandler
public final ObjectProperty<Callback<PromptData,String>> promptHandlerProperty
prompt. Реализация может отобразить диалоговое окно с текстовым полем и вернуть ввод пользователя.
- См. также:
onError
public final ObjectProperty<EventHandler<WebErrorEvent>> onErrorProperty
- Значение по умолчанию:
null- С:
- JavaFX 8.0
- См. также:
Подробное описание конструкторов
WebEngine
public WebEngine()
WebEngine
public WebEngine(String url)
- Параметры:
-
url— URL веб-страницы для загрузки
Подробное описание методов
getLoadWorker
public final Worker<Void> getLoadWorker()
Worker, который можно использовать для отслеживания прогресса загрузки.- Возвращает:
- объект
Worker
getDocument
public final Document getDocument()
document.- Описание свойства:
- Объект документа текущей веб-страницы. Значение равно
null, если загрузка веб-страницы не удалась. - Возвращает:
- значение свойства
document - См. также:
documentProperty
public final ReadOnlyObjectProperty<Document> documentProperty()
null, если загрузка веб-страницы не удалась.- Возвращает:
- свойство документа
- См. также:
getLocation
public final String getLocation()
location.- Описание свойства:
- URL текущей веб-страницы. Если у текущей страницы нет URL, значение — пустая строка.
- Возвращает:
- значение свойства
location - См. также:
locationProperty
public final ReadOnlyStringProperty locationProperty()
- Возвращает:
- свойство расположения
- См. также:
getTitle
public final String getTitle()
title.- Описание свойства:
- Заголовок текущей веб-страницы. Если у текущей страницы нет заголовка, значение —
null. Это свойство обновляется асинхронно некоторое время после загрузки страницы. Приложения не должны полагаться на конкретное время, а должны прослушивать изменения этого свойства или привязываться к нему, чтобы знать, когда оно было обновлено. - Возвращает:
- значение свойства
title - См. также:
titleProperty
public final ReadOnlyStringProperty titleProperty()
null. Это свойство обновляется асинхронно некоторое время после загрузки страницы. Приложения не должны полагаться на конкретное время, а должны прослушивать изменения этого свойства или привязываться к нему, чтобы знать, когда оно было обновлено.- Возвращает:
- свойство заголовка
- См. также:
setJavaScriptEnabled
public final void setJavaScriptEnabled(boolean value)
javaScriptEnabled.- Описание свойства:
- Указывает, разрешено ли выполнение JavaScript.
- Значение по умолчанию:
- true
- Параметры:
-
value— значение для свойстваjavaScriptEnabled - С:
- JavaFX 2.2
- См. также:
isJavaScriptEnabled
public final boolean isJavaScriptEnabled()
javaScriptEnabled.- Описание свойства:
- Указывает, разрешено ли выполнение JavaScript.
- Значение по умолчанию:
- true
- Возвращает:
- значение свойства
javaScriptEnabled - С:
- JavaFX 2.2
- См. также:
javaScriptEnabledProperty
public final BooleanProperty javaScriptEnabledProperty()
- Значение по умолчанию:
- true
- Возвращает:
- свойство
javaScriptEnabled - С:
- JavaFX 2.2
- См. также:
setUserStyleSheetLocation
public final void setUserStyleSheetLocation(String value)
userStyleSheetLocation.- Описание свойства:
- Расположение пользовательского стилового файла как строка URL.
Это должен быть локальный URL, то есть либо
'data:', либо'file:', либо'jar:', либо'jrt:'. Удаленные URL не разрешены по соображениям безопасности. - Значение по умолчанию:
- null
- Параметры:
-
value— значение для свойстваuserStyleSheetLocation - С:
- JavaFX 2.2
- См. также:
getUserStyleSheetLocation
public final String getUserStyleSheetLocation()
userStyleSheetLocation.- Описание свойства:
- Расположение пользовательского стилового файла как строка URL.
Это должен быть локальный URL, то есть либо
'data:', либо'file:', либо'jar:', либо'jrt:'. Удаленные URL не разрешены по соображениям безопасности. - Значение по умолчанию:
- null
- Возвращает:
- значение свойства
userStyleSheetLocation - С:
- JavaFX 2.2
- См. также:
userStyleSheetLocationProperty
public final StringProperty userStyleSheetLocationProperty()
Это должен быть локальный URL, то есть либо 'data:', либо 'file:', либо 'jar:', либо 'jrt:'. Удаленные URL не разрешены по соображениям безопасности.
- Значение по умолчанию:
- null
- Возвращает:
- свойство
userStyleSheetLocation - С:
- JavaFX 2.2
- См. также:
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- Возвращает:
- значение свойства
userDataDirectory - С тех пор:
- 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- Параметры:
-
value- значение для свойстваuserDataDirectory - С тех пор:
- 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- Возвращает:
- свойство
userDataDirectory - С тех пор:
- JavaFX 8.0
- См. также:
setUserAgent
public final void setUserAgent(String value)
userAgent.- Описание свойства:
- Строка идентификатора пользователя. Эта строка является значением заголовка HTTP
User-Agent. - Значение по умолчанию:
- зависит от системы
- Параметры:
-
value- значение для свойстваuserAgent - С тех пор:
- JavaFX 8.0
- См. также:
getUserAgent
public final String getUserAgent()
userAgent.- Описание свойства:
- Строка идентификатора пользователя. Эта строка является значением заголовка HTTP
User-Agent. - Значение по умолчанию:
- зависит от системы
- Возвращает:
- значение свойства
userAgent - С тех пор:
- JavaFX 8.0
- См. также:
userAgentProperty
public final StringProperty userAgentProperty()
User-Agent.- Значение по умолчанию:
- зависит от системы
- Возвращает:
- свойство
userAgent - С тех пор:
- JavaFX 8.0
- См. также:
getOnAlert
public final EventHandler<WebEvent<String>> getOnAlert()
onAlert.- Описание свойства:
- Свойство обработчика JavaScript
alert. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функциюalert. - Возвращает:
- значение свойства
onAlert - См. также:
setOnAlert
public final void setOnAlert(EventHandler<WebEvent<String>> handler)
onAlert.- Описание свойства:
- Свойство обработчика JavaScript
alert. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функциюalert. - Параметры:
-
handler- значение для свойстваonAlert - См. также:
onAlertProperty
public final ObjectProperty<EventHandler<WebEvent<String>>> onAlertProperty()
alert. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функцию alert.- Возвращает:
- свойство onAlert
- См. также:
getOnStatusChanged
public final EventHandler<WebEvent<String>> getOnStatusChanged()
onStatusChanged.- Описание свойства:
- Обработчик статуса JavaScript. Этот обработчик вызывается, когда сценарий, выполняющийся на веб-странице, устанавливает свойство
window.status. - Возвращает:
- значение свойства
onStatusChanged - См. также:
setOnStatusChanged
public final void setOnStatusChanged(EventHandler<WebEvent<String>> handler)
onStatusChanged.- Описание свойства:
- Обработчик статуса JavaScript. Этот обработчик вызывается, когда сценарий, выполняющийся на веб-странице, устанавливает свойство
window.status. - Параметры:
-
handler- значение для свойстваonStatusChanged - См. также:
onStatusChangedProperty
public final ObjectProperty<EventHandler<WebEvent<String>>> onStatusChangedProperty()
window.status.- Возвращает:
- свойство onStatusChanged
- См. также:
getOnResized
public final EventHandler<WebEvent<Rectangle2D>> getOnResized()
onResized.- Описание свойства:
- Обработчик изменения размера окна JavaScript. Этот обработчик вызывается, когда сценарий, выполняющийся на веб-странице, перемещает или изменяет размер объекта
window. - Возвращает:
- значение свойства
onResized - См. также:
setOnResized
public final void setOnResized(EventHandler<WebEvent<Rectangle2D>> handler)
onResized.- Описание свойства:
- Обработчик изменения размера окна JavaScript. Этот обработчик вызывается, когда сценарий, выполняющийся на веб-странице, перемещает или изменяет размер объекта
window. - Параметры:
-
handler- значение для свойстваonResized - См. также:
onResizedProperty
public final ObjectProperty<EventHandler<WebEvent<Rectangle2D>>> onResizedProperty()
window.- Возвращает:
- свойство onResized
- См. также:
getOnVisibilityChanged
public final EventHandler<WebEvent<Boolean>> getOnVisibilityChanged()
onVisibilityChanged.- Описание свойства:
- Обработчик изменения видимости окна JavaScript. Этот обработчик вызывается, когда сценарий, выполняющийся на веб-странице, изменяет видимость объекта
window. - Возвращает:
- значение свойства
onVisibilityChanged - См. также:
setOnVisibilityChanged
public final void setOnVisibilityChanged(EventHandler<WebEvent<Boolean>> handler)
onVisibilityChanged.- Описание свойства:
- Обработчик изменения видимости окна JavaScript. Этот обработчик вызывается, когда сценарий, выполняющийся на веб-странице, изменяет видимость объекта
window. - Параметры:
-
handler- значение для свойстваonVisibilityChanged - См. также:
onVisibilityChangedProperty
public final ObjectProperty<EventHandler<WebEvent<Boolean>>> onVisibilityChangedProperty()
window.- Возвращает:
- свойство onVisibilityChanged
- См. также:
getCreatePopupHandler
public final Callback<PopupFeatures,WebEngine> getCreatePopupHandler()
createPopupHandler.- Описание свойства:
- Обработчик всплывающих окон JavaScript. Этот обработчик вызывается, когда сценарий, выполняющийся на веб-странице, запрашивает создание всплывающего окна.
Для выполнения этого запроса обработчик может создать новое
WebEngine, прикрепить обработчик видимости и (необязательно) обработчик изменения размера и вернуть созданный движок. Для блокирования всплывающего окна обработчик должен вернутьnull.По умолчанию установлен обработчик всплывающих окон, который открывает всплывающие окна в этом
WebEngine. - Возвращает:
- значение свойства
createPopupHandler - См. также:
setCreatePopupHandler
public final void setCreatePopupHandler(Callback<PopupFeatures,WebEngine> handler)
createPopupHandler.- Описание свойства:
- Обработчик всплывающих окон JavaScript. Этот обработчик вызывается, когда сценарий, выполняющийся на веб-странице, запрашивает создание всплывающего окна.
Для выполнения этого запроса обработчик может создать новое
WebEngine, прикрепить обработчик видимости и (необязательно) обработчик изменения размера и вернуть созданный движок. Для блокирования всплывающего окна обработчик должен вернутьnull.По умолчанию установлен обработчик всплывающих окон, который открывает всплывающие окна в этом
WebEngine. - Параметры:
-
handler- значение для свойстваcreatePopupHandler - См. также:
createPopupHandlerProperty
public final ObjectProperty<Callback<PopupFeatures,WebEngine>> createPopupHandlerProperty()
Для выполнения этого запроса обработчик может создать новое WebEngine, прикрепить обработчик видимости и (необязательно) обработчик изменения размера и вернуть созданный движок. Для блокирования всплывающего окна обработчик должен вернуть null.
По умолчанию установлен обработчик всплывающих окон, который открывает всплывающие окна в этом WebEngine.
- Возвращает:
- свойство createPopupHandler
- См. также:
getConfirmHandler
public final Callback<String,Boolean> getConfirmHandler()
confirmHandler.- Описание свойства:
- Обработчик подтверждения JavaScript. Этот обработчик вызывается, когда сценарий, выполняющийся на веб-странице, вызывает функцию
confirm.Реализация может отобразить диалоговое окно с опциями «Да» и «Нет» и вернуть выбор пользователя.
- Возвращает:
- значение свойства
confirmHandler - См. также:
setConfirmHandler
public final void setConfirmHandler(Callback<String,Boolean> handler)
confirmHandler.- Описание свойства:
- Обработчик подтверждения JavaScript. Этот обработчик вызывается, когда сценарий, выполняющийся на веб-странице, вызывает функцию
confirm.Реализация может отобразить диалоговое окно с опциями «Да» и «Нет» и вернуть выбор пользователя.
- Параметры:
-
handler- значение для свойстваconfirmHandler - См. также:
confirmHandlerProperty
public final ObjectProperty<Callback<String,Boolean>> confirmHandlerProperty()
confirm. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функцию confirm. Реализация может отобразить диалоговое окно с опциями «Да» и «Нет» и вернуть выбор пользователя.
- Возвращает:
- свойство confirmHandler
- См. также:
getPromptHandler
public final Callback<PromptData,String> getPromptHandler()
promptHandler.- Описание свойства:
- Свойство обработчика JavaScript
prompt. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функциюprompt.Реализация может отобразить диалоговое окно с текстовым полем и вернуть введённый пользователем текст.
- Возвращает:
- значение свойства
promptHandler - См. также:
setPromptHandler
public final void setPromptHandler(Callback<PromptData,String> handler)
promptHandler.- Описание свойства:
- Свойство обработчика JavaScript
prompt. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функциюprompt.Реализация может отобразить диалоговое окно с текстовым полем и вернуть введённый пользователем текст.
- Параметры:
-
handler- значение для свойстваpromptHandler - См. также:
promptHandlerProperty
public final ObjectProperty<Callback<PromptData,String>> promptHandlerProperty()
prompt. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функцию prompt. Реализация может отобразить диалоговое окно с текстовым полем и вернуть введённый пользователем текст.
- Возвращает:
- свойство promptHandler
- См. также:
getOnError
public final EventHandler<WebErrorEvent> getOnError()
onError.- Описание свойства:
- Обработчик событий, вызываемый при возникновении ошибки.
- Значение по умолчанию:
null- Возвращает:
- значение свойства
onError - С момента:
- JavaFX 8.0
- См. также:
setOnError
public final void setOnError(EventHandler<WebErrorEvent> handler)
onError.- Описание свойства:
- Обработчик событий, вызываемый при возникновении ошибки.
- Значение по умолчанию:
null- Параметры:
-
handler- значение для свойстваonError - С момента:
- JavaFX 8.0
- См. также:
onErrorProperty
public final ObjectProperty<EventHandler<WebErrorEvent>> onErrorProperty()
- Значение по умолчанию:
null- Возвращает:
- свойство
onError - С момента:
- JavaFX 8.0
- См. также:
load
public void load(String url)
- Параметры:
-
url- URL веб-страницы для загрузки
loadContent
public void loadContent(String content)
load(String), этот метод является асинхронным.- Параметры:
-
content- содержимое HTML для загрузки
loadContent
public void loadContent(String content, String contentType)
load(String), этот метод является асинхронным. Этот метод также позволяет вам указать тип содержимого загружаемой строки и, таким образом, может поддерживать другие типы помимо просто HTML.- Параметры:
-
content- содержимое HTML для загрузки -
contentType- тип загружаемого содержимого
reload
public void reload()
loadContent.getHistory
public WebHistory getHistory()
- Возвращает:
- объект истории
- С момента:
- JavaFX 2.2
executeScript
public Object executeScript(String script)
- Параметры:
-
script- скрипт - Возвращает:
- результат выполнения, преобразованный в объект Java по следующим правилам:
- JavaScript Int32 преобразуется в
java.lang.Integer - Другие JavaScript числа в
java.lang.Double - JavaScript строка в
java.lang.String - JavaScript boolean в
java.lang.Boolean - JavaScript
nullвnull - Большинство JavaScript объектов обертываются как
netscape.javascript.JSObject - JavaScript объекты JSNode отображаются как экземпляры
netscape.javascript.JSObject, которые также реализуютorg.w3c.dom.Node - Особый случай — JavaScript класс
JavaRuntimeObject, который используется для обертывания объекта Java в качестве JavaScript значения — в этом случае мы просто извлекаем исходное значение Java.
- JavaScript Int32 преобразуется в
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.