Spec-Zone.ru › OpenJavaFX 17

Класс WebEngine

java.lang.Object
fx.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
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 boolean; и строка — Java 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-методов с заданным именем, движок выбирает один, соответствующий числу параметров в вызове. (Аргументы varargs не обрабатываются.) Неопределённый выбирается, если существует несколько с правильным числом параметров.

Вы можете выбрать определённый перегруженный метод, указав типы параметров в "расширенном имени метода", имеющем вид "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 Application. Это правило также относится к любым объектам DOM и JavaScript, полученным из WebEngine объекта.

Since:
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()
Возвращает значение свойства confirmHandler.
Callback<PopupFeatures,​WebEngine> getCreatePopupHandler()
Возвращает значение свойства createPopupHandler.
Document getDocument()
Возвращает значение свойства document.
WebHistory getHistory()
Возвращает объект истории сессии.
Worker<Void> getLoadWorker()
Возвращает объект Worker, который можно использовать для отслеживания прогресса загрузки.
String getLocation()
Возвращает значение свойства location.
EventHandler<WebEvent<String>> getOnAlert()
Возвращает значение свойства onAlert.
EventHandler<WebErrorEvent> getOnError()
Возвращает значение свойства onError.
EventHandler<WebEvent<Rectangle2D>> getOnResized()
Возвращает значение свойства onResized.
EventHandler<WebEvent<String>> getOnStatusChanged()
Возвращает значение свойства onStatusChanged.
EventHandler<WebEvent<Boolean>> getOnVisibilityChanged()
Возвращает значение свойства onVisibilityChanged.
Callback<PromptData,​String> getPromptHandler()
Возвращает значение свойства promptHandler.
String getTitle()
Возвращает значение свойства title.
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)
Устанавливает значение свойства confirmHandler.
void setCreatePopupHandler​(Callback<PopupFeatures,​WebEngine> handler)
Устанавливает значение свойства createPopupHandler.
void setJavaScriptEnabled​(boolean value)
Устанавливает значение свойства javaScriptEnabled.
void setOnAlert​(EventHandler<WebEvent<String>> handler)
Устанавливает значение свойства onAlert.
void setOnError​(EventHandler<WebErrorEvent> handler)
Устанавливает значение свойства onError.
void setOnResized​(EventHandler<WebEvent<Rectangle2D>> handler)
Устанавливает значение свойства onResized.
void setOnStatusChanged​(EventHandler<WebEvent<String>> handler)
Устанавливает значение свойства onStatusChanged.
void setOnVisibilityChanged​(EventHandler<WebEvent<Boolean>> handler)
Устанавливает значение свойства onVisibilityChanged.
void setPromptHandler​(Callback<PromptData,​String> handler)
Устанавливает значение свойства promptHandler.
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, если загрузка веб-страницы завершилась неудачно.
См. также:
getDocument()

location

public final ReadOnlyStringProperty locationProperty
URL текущей веб-страницы. Если у текущей страницы нет URL, значение является пустой строкой.
См. также:
getLocation()

title

public final ReadOnlyStringProperty titleProperty
Заголовок текущей веб-страницы. Если у текущей страницы нет заголовка, значение равно null. Это свойство будет обновлено асинхронно некоторое время после загрузки страницы. Приложения не должны полагаться на конкретное время, а должны следить за изменениями этого свойства или привязаться к нему, чтобы узнать, когда оно было обновлено.
См. также:
getTitle()

javaScriptEnabled

public final BooleanProperty javaScriptEnabledProperty
Указывает, включено ли выполнение JavaScript.
Значение по умолчанию:
true
С версии:
JavaFX 2.2
См. также:
isJavaScriptEnabled(), setJavaScriptEnabled(boolean)

userStyleSheetLocation

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

Это должен быть локальный URL, т.е. либо 'data:', 'file:', 'jar:', или 'jrt:'. Удаленные 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.

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

См. также:
getConfirmHandler(), setConfirmHandler(Callback)

promptHandler

public final ObjectProperty<Callback<PromptData,String>> promptHandlerProperty
Свойство обработчика запроса JavaScript. Этот обработчик вызывается, когда скрипт, выполняемый на веб-странице, вызывает функцию 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)
Создаёт новый движок и загружает веб-страницу в него.
Параметры:
url - URL веб-страницы для загрузки

Подробное описание методов

getLoadWorker

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

getDocument

public final Document getDocument()
Получает значение свойства document.
Описание свойства:
Объект документа текущей веб-страницы. Значение равно null, если загрузка веб-страницы завершилась неудачно.

documentProperty

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

getLocation

public final String getLocation()
Получает значение свойства location.
Описание свойства:
URL текущей веб-страницы. Если у текущей страницы нет URL, значение является пустой строкой.

locationProperty

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

getTitle

public final String getTitle()
Получает значение свойства title.
Описание свойства:
Заголовок текущей веб-страницы. Если у текущей страницы нет заголовка, значение — null. Это свойство будет обновлено асинхронно некоторое время после загрузки страницы. Приложения не должны полагаться на конкретное время, а должны прослушивать изменения этого свойства или привязываться к нему, чтобы узнать, когда оно было обновлено.

titleProperty

public final ReadOnlyStringProperty titleProperty()
Заголовок текущей веб-страницы. Если у текущей страницы нет заголовка, значение — null. Это свойство будет обновлено асинхронно некоторое время после загрузки страницы. Приложения не должны полагаться на конкретное время, а должны прослушивать изменения этого свойства или привязываться к нему, чтобы узнать, когда оно было обновлено.
См. также:
getTitle()

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:', или 'jrt:'. Для соображений безопасности удаленные URL недопустимы.

Значение по умолчанию:
null
С версии:
JavaFX 2.2

getUserStyleSheetLocation

public final String getUserStyleSheetLocation()
Получает значение свойства userStyleSheetLocation.
Описание свойства:
Расположение пользовательского таблицы стилей в виде строкового URL.

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

Значение по умолчанию:
null
С версии:
JavaFX 2.2

userStyleSheetLocationProperty

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

Это должен быть локальный URL, т.е. либо 'data:', 'file:', 'jar:', или 'jrt:'. Для соображений безопасности удаленные 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. Эта строка является значением заголовка User-Agent HTTP.
Значение по умолчанию:
зависит от системы
С версии:
JavaFX 8.0

getUserAgent

public final String getUserAgent()
Получает значение свойства userAgent.
Описание свойства:
Указывает строку идентификатора user agent. Эта строка является значением заголовка User-Agent HTTP.
Значение по умолчанию:
зависит от системы
С версии:
JavaFX 8.0
END_OF_DOCUMENT_MARKER

userAgentProperty

public final StringProperty userAgentProperty()
Указывает строку идентификатора пользователя. Эта строка — значение заголовка User-Agent HTTP.
Значение по умолчанию:
зависит от системы
С тех пор как:
JavaFX 8.0
См. также:
getUserAgent(), setUserAgent(String)

getOnAlert

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

setOnAlert

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

onAlertProperty

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

getOnStatusChanged

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

setOnStatusChanged

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

onStatusChangedProperty

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

getOnResized

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

setOnResized

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

onResizedProperty

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

getOnVisibilityChanged

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

setOnVisibilityChanged

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

onVisibilityChangedProperty

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

getCreatePopupHandler

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

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

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

setCreatePopupHandler

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

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

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

createPopupHandlerProperty

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

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

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

См. также:
getCreatePopupHandler(), setCreatePopupHandler(Callback)

getConfirmHandler

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

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

setConfirmHandler

public final void setConfirmHandler(Callback<String,​Boolean> handler)
Устанавливает значение свойства confirmHandler.
Описание свойства:
Свойство обработчика подтверждения JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функцию confirm.

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

confirmHandlerProperty

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

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

См. также:
getConfirmHandler(), setConfirmHandler(Callback)

getPromptHandler

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

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

setPromptHandler

public final void setPromptHandler(Callback<PromptData,​String> handler)
Устанавливает значение свойства promptHandler.
Описание свойства:
Свойство обработчика запроса JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функцию prompt.

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

promptHandlerProperty

public final ObjectProperty<Callback<PromptData,String>> promptHandlerProperty()
Свойство обработчика запроса JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функцию 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), этот метод является асинхронным.
Параметры:
content - содержимое HTML для загрузки

loadContent

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

reload

public void reload()
Перезагружает текущую страницу, загруженную с URL или непосредственно из строки в одном из 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.

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