Класс WebEngine
- 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Свойство обработчика JavaScriptconfirm.ObjectProperty<Callback<PopupFeatures,WebEngine>>createPopupHandlerСвойство обработчика всплывающих окон JavaScript.ReadOnlyObjectProperty<Document>documentОбъект документа текущей веб-страницы.BooleanPropertyjavaScriptEnabledУказывает, включена ли обработка JavaScript.ReadOnlyStringPropertylocationURL текущей веб-страницы.ObjectProperty<EventHandler<WebEvent<String>>>onAlertСвойство обработчика JavaScriptalert.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Свойство обработчика JavaScriptprompt.ReadOnlyStringPropertytitleЗаголовок текущей веб-страницы.StringPropertyuserAgentУказывает строку идентификатора пользовательского агента.ObjectProperty<File>userDataDirectoryУказывает каталог, который будет использоваться этимWebEngineдля хранения локальных данных пользователя.StringPropertyuserStyleSheetLocationРасположение пользовательского стилистического файла в виде строки URL.
-
Краткое описание методов
Все методыМетоды экземпляраКонкретные методы Модификатор и тип Метод и описание ObjectProperty<Callback<String,Boolean>>confirmHandlerProperty()Свойство обработчика JavaScriptconfirm.ObjectProperty<Callback<PopupFeatures,WebEngine>>createPopupHandlerProperty()Свойство обработчика всплывающих окон JavaScript.ReadOnlyObjectProperty<Document>documentProperty()Объект документа текущей веб-страницы.ObjectexecuteScript(String script)Выполняет скрипт в контексте текущей страницы.Callback<String,Boolean>getConfirmHandler()Возвращает обработчик JavaScriptconfirm.Callback<PopupFeatures,WebEngine>getCreatePopupHandler()Возвращает обработчик всплывающих окон JavaScript.DocumentgetDocument()Возвращает объект документа текущей веб-страницы.WebHistorygetHistory()Возвращает объект истории сеанса.Worker<Void>getLoadWorker()Возвращает объектWorker, который можно использовать для отслеживания прогресса загрузки.StringgetLocation()Возвращает URL текущей веб-страницы.EventHandler<WebEvent<String>>getOnAlert()Возвращает обработчик JavaScriptalert.EventHandler<WebErrorEvent>getOnError()Получает значение свойства onError.EventHandler<WebEvent<Rectangle2D>>getOnResized()Возвращает обработчик изменения размера окна JavaScript.EventHandler<WebEvent<String>>getOnStatusChanged()Возвращает обработчик состояния JavaScript.EventHandler<WebEvent<Boolean>>getOnVisibilityChanged()Возвращает обработчик видимости окна JavaScript.Callback<PromptData,String>getPromptHandler()Возвращает обработчик JavaScriptprompt.StringgetTitle()Возвращает заголовок текущей веб-страницы.StringgetUserAgent()Получает значение свойства userAgent.FilegetUserDataDirectory()Получает значение свойства userDataDirectory.StringgetUserStyleSheetLocation()Получает значение свойства userStyleSheetLocation.booleanisJavaScriptEnabled()Получает значение свойства javaScriptEnabled.BooleanPropertyjavaScriptEnabledProperty()Указывает, включено ли выполнение JavaScript.voidload(String url)Загружает веб-страницу в этот движок.voidloadContent(String content)Загружает заданный HTML-контент напрямую.voidloadContent(String content, String contentType)Загружает заданный контент напрямую.ReadOnlyStringPropertylocationProperty()URL текущей веб-страницы.ObjectProperty<EventHandler<WebEvent<String>>>onAlertProperty()Свойство обработчика JavaScriptalert.ObjectProperty<EventHandler<WebErrorEvent>>onErrorProperty()Обработчик событий, вызываемый при возникновении ошибки.ObjectProperty<EventHandler<WebEvent<Rectangle2D>>>onResizedProperty()Свойство обработчика изменения размера окна JavaScript.ObjectProperty<EventHandler<WebEvent<String>>>onStatusChangedProperty()Свойство обработчика состояния JavaScript.ObjectProperty<EventHandler<WebEvent<Boolean>>>onVisibilityChangedProperty()Свойство обработчика видимости окна JavaScript.voidprint(PrinterJob job)Печатает текущую веб-страницу с использованием заданной печати.ObjectProperty<Callback<PromptData,String>>promptHandlerProperty()Свойство обработчика JavaScriptprompt.voidreload()Перезагружает текущую страницу, загруженную из URL или непосредственно из строки в одном из методовloadContent.voidsetConfirmHandler(Callback<String,Boolean> handler)Устанавливает обработчик JavaScriptconfirm.voidsetCreatePopupHandler(Callback<PopupFeatures,WebEngine> handler)Устанавливает обработчик всплывающих окон JavaScript.
voidsetJavaScriptEnabled(boolean value)Устанавливает значение свойства javaScriptEnabled.voidsetOnAlert(EventHandler<WebEvent<String>> handler)Устанавливает обработчик JavaScriptalert.voidsetOnError(EventHandler<WebErrorEvent> handler)Устанавливает значение свойства onError.voidsetOnResized(EventHandler<WebEvent<Rectangle2D>> handler)Устанавливает обработчик изменения размера окна JavaScript.voidsetOnStatusChanged(EventHandler<WebEvent<String>> handler)Устанавливает обработчик состояния JavaScript.voidsetOnVisibilityChanged(EventHandler<WebEvent<Boolean>> handler)Устанавливает обработчик видимости окна JavaScript.voidsetPromptHandler(Callback<PromptData,String> handler)Устанавливает обработчик JavaScriptprompt.voidsetUserAgent(String value)Устанавливает значение свойства userAgent.voidsetUserDataDirectory(File value)Устанавливает значение свойства userDataDirectory.voidsetUserStyleSheetLocation(String value)Устанавливает значение свойства userStyleSheetLocation.ReadOnlyStringPropertytitleProperty()Название текущей веб-страницы.StringPropertyuserAgentProperty()Указывает строку идентификатора пользователя агента.ObjectProperty<File>userDataDirectoryProperty()Указывает каталог, который будет использоваться этимWebEngineдля хранения локальных данных пользователя.StringPropertyuserStyleSheetLocationProperty()Расположение пользовательского таблицы стилей как строка URL.
-
Подробное описание свойства
-
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
См. также:
-
userStyleSheetLocation
public final StringProperty userStyleSheetLocationProperty
Расположение пользовательского стильного файла в виде строки URL.Это должен быть локальный URL, т.е. либо
'data:', либо'file:', либо'jar:'. Удаленные 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
Указывает строку идентификатора пользователя. Эта строка является значением заголовка HTTPUser-Agent.Значение по умолчанию:
зависит от системы
С:
JavaFX 8.0
См. также:
-
onAlert
public final ObjectProperty<EventHandler<WebEvent<String>>> onAlertProperty
Свойство обработчика JavaScriptalert. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функциюalert.См. также:
-
onStatusChanged
public final ObjectProperty<EventHandler<WebEvent<String>>> onStatusChangedProperty
Свойство обработчика статуса JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, устанавливает свойствоwindow.status.См. также:
-
onResized
public final ObjectProperty<EventHandler<WebEvent<Rectangle2D>>> onResizedProperty
Свойство обработчика изменения размера окна JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, перемещает или изменяет размер объектаwindow.См. также:
-
-
onVisibilityChanged
public final ObjectProperty<EventHandler<WebEvent<Boolean>>> onVisibilityChangedProperty
Свойство обработчика видимости окна JavaScript. Этот обработчик вызывается, когда скрипт, работающий на веб-странице, изменяет видимость объектаwindow.
-
createPopupHandler
public final ObjectProperty<Callback<PopupFeatures,WebEngine>> createPopupHandlerProperty
Свойство обработчика всплывающего окна JavaScript. Этот обработчик вызывается, когда скрипт, работающий на веб-странице, запрашивает создание всплывающего окна.Для удовлетворения этого запроса обработчик может создать новое
WebEngine, подключить обработчик видимости и, необязательно, обработчик изменения размера, и вернуть созданный движок. Для блокировки всплывающего окна обработчик должен вернутьnull.По умолчанию установлен обработчик всплывающих окон, открывающий их в этом
WebEngine.
-
confirmHandler
public final ObjectProperty<Callback<String,Boolean>> confirmHandlerProperty
Свойство обработчика JavaScriptconfirm. Этот обработчик вызывается, когда скрипт, работающий на веб-странице, вызывает функциюconfirm.Реализация может отобразить диалоговое окно с опциями «Да» и «Нет» и вернуть выбор пользователя.
См. также:
-
promptHandler
public final ObjectProperty<Callback<PromptData,String>> promptHandlerProperty
Свойство обработчика JavaScriptprompt. Этот обработчик вызывается, когда скрипт, работающий на веб-странице, вызывает функциюprompt.Реализация может отобразить диалоговое окно с текстовым полем и вернуть введенные пользователем данные.
См. также:
-
onError
public final ObjectProperty<EventHandler<WebErrorEvent>> onErrorProperty
Обработчик событий, вызываемый при возникновении ошибки.
-
-
Подробное описание конструкторов
-
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
См. также:
-
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
-
-
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
См. также:
-
setUserAgent
public final void setUserAgent(String value)
Устанавливает значение свойства userAgent.Описание свойства:
Указывает строку идентификатора пользовательского агента. Эта строка является значением заголовка
User-AgentHTTP.Значение по умолчанию:
зависит от системы
С:
JavaFX 8.0
-
getUserAgent
public final String getUserAgent()
Получает значение свойства userAgent.Описание свойства:
Указывает строку идентификатора пользовательского агента. Эта строка является значением заголовка
User-AgentHTTP.Значение по умолчанию:
зависит от системы
С:
JavaFX 8.0
-
userAgentProperty
public final StringProperty userAgentProperty()
Указывает строку идентификатора пользовательского агента. Эта строка является значением заголовкаUser-AgentHTTP.Значение по умолчанию:
зависит от системы
С:
JavaFX 8.0
См. также:
-
getOnAlert
public final EventHandler<WebEvent<String>> getOnAlert()
Возвращает обработчик JavaScriptalert.
-
setOnAlert
public final void setOnAlert(EventHandler<WebEvent<String>> handler)
Устанавливает обработчик JavaScriptalert.См. также:
-
onAlertProperty
public final ObjectProperty<EventHandler<WebEvent<String>>> onAlertProperty()
Свойство обработчика JavaScriptalert. Этот обработчик вызывается, когда сценарий, выполняющийся на веб-странице, вызывает функциюalert.См. также:
-
getOnStatusChanged
public final EventHandler<WebEvent<String>> getOnStatusChanged()
Возвращает обработчик статуса JavaScript.
-
setOnStatusChanged
public final void setOnStatusChanged(EventHandler<WebEvent<String>> handler)
Устанавливает обработчик статуса JavaScript.См. также:
-
onStatusChangedProperty
public final ObjectProperty<EventHandler<WebEvent<String>>> onStatusChangedProperty()
Свойство обработчика статуса JavaScript. Этот обработчик вызывается, когда сценарий, выполняющийся на веб-странице, устанавливает свойствоwindow.status.См. также:
-
-
getOnResized
public final EventHandler<WebEvent<Rectangle2D>> getOnResized()
Возвращает обработчик изменения размера окна JavaScript.
-
setOnResized
public final void setOnResized(EventHandler<WebEvent<Rectangle2D>> handler)
Устанавливает обработчик изменения размера окна JavaScript.См. также:
-
onResizedProperty
public final ObjectProperty<EventHandler<WebEvent<Rectangle2D>>> onResizedProperty()
Свойство обработчика изменения размера окна JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, перемещает или изменяет размер объектаwindow.См. также:
-
getOnVisibilityChanged
public final EventHandler<WebEvent<Boolean>> getOnVisibilityChanged()
Возвращает обработчик видимости окна JavaScript.
-
setOnVisibilityChanged
public final void setOnVisibilityChanged(EventHandler<WebEvent<Boolean>> handler)
Устанавливает обработчик видимости окна JavaScript.
-
onVisibilityChangedProperty
public final ObjectProperty<EventHandler<WebEvent<Boolean>>> onVisibilityChangedProperty()
Свойство обработчика видимости окна JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, изменяет видимость объектаwindow.
-
getCreatePopupHandler
public final Callback<PopupFeatures,WebEngine> getCreatePopupHandler()
Возвращает обработчик всплывающих окон JavaScript.
-
setCreatePopupHandler
public final void setCreatePopupHandler(Callback<PopupFeatures,WebEngine> handler)
Устанавливает обработчик всплывающих окон JavaScript.
-
createPopupHandlerProperty
public final ObjectProperty<Callback<PopupFeatures,WebEngine>> createPopupHandlerProperty()
Свойство обработчика всплывающих окон JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, запрашивает создание всплывающего окна.Для обработки этого запроса обработчик может создать новое
WebEngine, подключить обработчик видимости и необязательно обработчик изменения размера, и вернуть созданный движок. Чтобы заблокировать всплывающее окно, обработчик должен вернутьnull.По умолчанию установлен обработчик всплывающих окон, открывающий всплывающие окна в этом
WebEngine.
-
getConfirmHandler
public final Callback<String,Boolean> getConfirmHandler()
Возвращает обработчик JavaScriptconfirm.
-
setConfirmHandler
public final void setConfirmHandler(Callback<String,Boolean> handler)
Устанавливает обработчик JavaScriptconfirm.См. также:
-
confirmHandlerProperty
public final ObjectProperty<Callback<String,Boolean>> confirmHandlerProperty()
Свойство обработчика JavaScriptconfirm. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функциюconfirm.Реализация может отобразить диалоговое окно с вариантами «Да» и «Нет» и вернуть выбор пользователя.
См. также:
-
getPromptHandler
public final Callback<PromptData,String> getPromptHandler()
Возвращает обработчик JavaScriptprompt.
-
-
setPromptHandler
public final void setPromptHandler(Callback<PromptData,String> handler)
Устанавливает JavaScriptpromptобработчик.См. также:
-
promptHandlerProperty
public final ObjectProperty<Callback<PromptData,String>> promptHandlerProperty()
Свойство JavaScriptpromptобработчика. Этот обработчик вызывается, когда скрипт, выполняемый на веб-странице, вызывает функциюprompt.Реализация может отобразить диалоговое окно со строкой ввода и вернуть введённые пользователем данные.
См. также:
-
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()
Обработчик событий, вызываемый при возникновении ошибки.
-
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.
- JavaScript Int32 преобразуется в
-
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.