Class WebEngine
- javafx.scene.web.WebEngine
public final class WebEngine extends Object
WebEngine is a non-visual object capable of managing one Web page at a time. It loads Web pages, creates their document models, applies styles as necessary, and runs JavaScript on pages. It provides access to the document model of the current page, and enables two-way communication between a Java application and JavaScript code of the page. Loading Web Pages
The WebEngine class provides two ways to load content into a WebEngine object:
- From an arbitrary URL using the
load(java.lang.String)method. This method uses thejava.netpackage for network access and protocol handling. - From an in-memory String using the
loadContent(java.lang.String, java.lang.String)andloadContent(java.lang.String)methods.
Loading always happens on a background thread. Methods that initiate loading return immediately after scheduling a background job. To track progress and/or cancel a job, use the Worker instance available from the getLoadWorker() method.
The following example changes the stage title when loading completes successfully:
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"); User Interface Callbacks
A number of user interface callbacks may be registered with a WebEngine object. These callbacks are invoked when a script running on the page requests a user interface operation to be performed, for example, opens a popup window or changes status text. A WebEngine object cannot handle such requests internally, so it passes the request to the corresponding callbacks. If no callback is defined for a specific operation, the request is silently ignored.
The table below shows JavaScript user interface methods and properties with their corresponding WebEngine callbacks:
| JavaScript method/property | WebEngine callback |
|---|---|
window.alert() |
onAlert |
window.confirm() |
confirmHandler |
window.open() |
createPopupHandler |
window.open() andwindow.close()
|
onVisibilityChanged |
window.prompt() |
promptHandler |
Setting window.status
|
onStatusChanged |
Setting any of the following:window.innerWidth, window.innerHeight,window.outerWidth, window.outerHeight,window.screenX, window.screenY,window.screenLeft, window.screenTop |
onResized |
The following example shows a callback that resizes a browser window:
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());
}
}); Access to Document Model
The WebEngine objects create and manage a Document Object Model (DOM) for their Web pages. The model can be accessed and modified using Java DOM Core classes. The getDocument() method provides access to the root of the model. Additionally DOM Event specification is supported to define event handlers in Java code.
The following example attaches a Java event listener to an element of a Web page. Clicking on the element causes the application to exit:
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); Evaluating JavaScript expressions
It is possible to execute arbitrary JavaScript code in the context of the current page using the executeScript(java.lang.String) method. For example:
webEngine.executeScript("history.back()"); The execution result is returned to the caller, as described in the next section.
Mapping JavaScript values to Java objects
JavaScript values are represented using the obvious Java classes: null becomes Java null; a boolean becomes ajava.lang.Boolean; and a string becomes a java.lang.String. A number can be java.lang.Double or a java.lang.Integer, depending. The undefined value maps to a specific unique String object whose value is "undefined". If the result is a JavaScript object, it is wrapped as an instance of the JSObject class. (As a special case, if the JavaScript object is a JavaRuntimeObject as discussed in the next section, then the original Java object is extracted instead.) The JSObject class is a proxy that provides access to methods and properties of its underlying JavaScript object. The most commonly used JSObject methods are getMember (to read a named property), setMember (to set or define a property), and call (to call a function-valued property).
A DOM Node is mapped to an object that both extends JSObject and implements the appropriate DOM interfaces. To get a JSObject object for a Node just do a cast:
JSObject jdoc = (JSObject) webEngine.getDocument();
In some cases the context provides a specific Java type that guides the conversion. For example if setting a Java String field from a JavaScript expression, then the JavaScript value is converted to a string.
Mapping Java objects to JavaScript values
The arguments of theJSObject methods setMember and call pass Java objects to the JavaScript environment. This is roughly the inverse of the JavaScript-to-Java mapping described above: Java String, Number, or Boolean objects are converted to the obvious JavaScript values. A JSObject object is converted to the original wrapped JavaScript object. Otherwise a JavaRuntimeObject is created. This is a JavaScript object that acts as a proxy for the Java object, in that accessing properties of the JavaRuntimeObject causes the Java field or method with the same name to be accessed. Calling back to Java from JavaScript
The JSObject.setMember method is useful to enable upcalls from JavaScript into Java code, as illustrated by the following example. The Java code establishes a new JavaScript object named app. This object has one public member, the method exit.
public class JavaApplication {
public void exit() {
Platform.exit();
}
}
...
JSObject window = (JSObject) webEngine.executeScript("window");
window.setMember("app", new JavaApplication()); You can then refer to the object and the method from your HTML page: <a href="" onclick="app.exit()">Click here to exit application</a>
When a user clicks the link the application is closed.
If there are multiple Java methods with the given name, then the engine selects one matching the number of parameters in the call. (Varargs are not handled.) An unspecified one is chosen if there are multiple ones with the correct number of parameters.
You can pick a specific overloaded method by listing the parameter types in an extended method name
, which has the form "method_name(param_type1,...,param_typen)". Typically you'd write the JavaScript expression:
receiver["method_name(param_type1,...,param_typeN)"](arg1,...,argN)
Threading
WebEngine objects must be created and accessed solely from the JavaFX Application thread. This rule also applies to any DOM and JavaScript objects obtained from the WebEngine object.
Since:
JavaFX 2.0
-
Property Summary
All MethodsInstance MethodsConcrete Methods Type Property and Description ObjectProperty<Callback<String,Boolean>>confirmHandlerJavaScriptconfirmhandler property.ObjectProperty<Callback<PopupFeatures,WebEngine>>createPopupHandlerJavaScript popup handler property.ReadOnlyObjectProperty<Document>documentDocument object for the current Web page.BooleanPropertyjavaScriptEnabledSpecifies whether JavaScript execution is enabled.ReadOnlyStringPropertylocationURL of the current Web page.ObjectProperty<EventHandler<WebEvent<String>>>onAlertJavaScriptalerthandler property.ObjectProperty<EventHandler<WebErrorEvent>>onErrorThe event handler called when an error occurs.ObjectProperty<EventHandler<WebEvent<Rectangle2D>>>onResizedJavaScript window resize handler property.ObjectProperty<EventHandler<WebEvent<String>>>onStatusChangedJavaScript status handler property.ObjectProperty<EventHandler<WebEvent<Boolean>>>onVisibilityChangedJavaScript window visibility handler property.ObjectProperty<Callback<PromptData,String>>promptHandlerJavaScriptprompthandler property.ReadOnlyStringPropertytitleTitle of the current Web page.StringPropertyuserAgentSpecifies user agent ID string.ObjectProperty<File>userDataDirectorySpecifies the directory to be used by thisWebEngineto store local user data.StringPropertyuserStyleSheetLocationLocation of the user stylesheet as a string URL.
-
Constructor Summary
Constructors Constructor and Description WebEngine()Creates a new engine.WebEngine(String url)Creates a new engine and loads a Web page into it.
-
Method Summary
All MethodsInstance MethodsConcrete Methods Modifier and Type Method and Description ObjectProperty<Callback<String,Boolean>>confirmHandlerProperty()JavaScriptconfirmhandler property.ObjectProperty<Callback<PopupFeatures,WebEngine>>createPopupHandlerProperty()JavaScript popup handler property.ReadOnlyObjectProperty<Document>documentProperty()Document object for the current Web page.ObjectexecuteScript(String script)Executes a script in the context of the current page.Callback<String,Boolean>getConfirmHandler()Returns the JavaScriptconfirmhandler.Callback<PopupFeatures,WebEngine>getCreatePopupHandler()Returns the JavaScript popup handler.DocumentgetDocument()Returns the document object for the current Web page.WebHistorygetHistory()Returns the session history object.Worker<Void>getLoadWorker()Returns aWorkerobject that can be used to track loading progress.StringgetLocation()Returns URL of the current Web page.EventHandler<WebEvent<String>>getOnAlert()Returns the JavaScriptalerthandler.EventHandler<WebErrorEvent>getOnError()Gets the value of the property onError.EventHandler<WebEvent<Rectangle2D>>getOnResized()Returns the JavaScript window resize handler.EventHandler<WebEvent<String>>getOnStatusChanged()Returns the JavaScript status handler.EventHandler<WebEvent<Boolean>>getOnVisibilityChanged()Returns the JavaScript window visibility handler.Callback<PromptData,String>getPromptHandler()Returns the JavaScriptprompthandler.StringgetTitle()Returns title of the current Web page.StringgetUserAgent()Gets the value of the property userAgent.FilegetUserDataDirectory()Gets the value of the property userDataDirectory.StringgetUserStyleSheetLocation()Gets the value of the property userStyleSheetLocation.booleanisJavaScriptEnabled()Gets the value of the property javaScriptEnabled.BooleanPropertyjavaScriptEnabledProperty()Specifies whether JavaScript execution is enabled.voidload(String url)Loads a Web page into this engine.voidloadContent(String content)Loads the given HTML content directly.voidloadContent(String content, String contentType)Loads the given content directly.ReadOnlyStringPropertylocationProperty()URL of the current Web page.ObjectProperty<EventHandler<WebEvent<String>>>onAlertProperty()JavaScriptalerthandler property.ObjectProperty<EventHandler<WebErrorEvent>>onErrorProperty()The event handler called when an error occurs.ObjectProperty<EventHandler<WebEvent<Rectangle2D>>>onResizedProperty()JavaScript window resize handler property.ObjectProperty<EventHandler<WebEvent<String>>>onStatusChangedProperty()JavaScript status handler property.ObjectProperty<EventHandler<WebEvent<Boolean>>>onVisibilityChangedProperty()JavaScript window visibility handler property.voidprint(PrinterJob job)Prints the current Web page using the given printer job.ObjectProperty<Callback<PromptData,String>>promptHandlerProperty()JavaScriptprompthandler property.voidreload()Reloads the current page, whether loaded from URL or directly from a String in one of theloadContentmethods.voidsetConfirmHandler(Callback<String,Boolean> handler)Sets the JavaScriptconfirmhandler.voidsetCreatePopupHandler(Callback<PopupFeatures,WebEngine> handler)Sets the JavaScript popup handler.voidsetJavaScriptEnabled(boolean value)Sets the value of the property javaScriptEnabled.voidsetOnAlert(EventHandler<WebEvent<String>> handler)Sets the JavaScriptalerthandler.voidsetOnError(EventHandler<WebErrorEvent> handler)Sets the value of the property onError.voidsetOnResized(EventHandler<WebEvent<Rectangle2D>> handler)Sets the JavaScript window resize handler.voidsetOnStatusChanged(EventHandler<WebEvent<String>> handler)Sets the JavaScript status handler.voidsetOnVisibilityChanged(EventHandler<WebEvent<Boolean>> handler)Sets the JavaScript window visibility handler.voidsetPromptHandler(Callback<PromptData,String> handler)Sets the JavaScriptprompthandler.voidsetUserAgent(String value)Sets the value of the property userAgent.voidsetUserDataDirectory(File value)Sets the value of the property userDataDirectory.voidsetUserStyleSheetLocation(String value)Sets the value of the property userStyleSheetLocation.ReadOnlyStringPropertytitleProperty()Title of the current Web page.StringPropertyuserAgentProperty()Specifies user agent ID string.ObjectProperty<File>userDataDirectoryProperty()Specifies the directory to be used by thisWebEngineto store local user data.StringPropertyuserStyleSheetLocationProperty()Location of the user stylesheet as a string URL.
-
Property Detail
-
document
public final ReadOnlyObjectProperty<Document> documentProperty
Document object for the current Web page. The value isnullif the Web page failed to load.
-
location
public final ReadOnlyStringProperty locationProperty
URL of the current Web page. If the current page has no URL, the value is an empty String.
-
title
public final ReadOnlyStringProperty titleProperty
Title of the current Web page. If the current page has no title, the value isnull.
-
javaScriptEnabled
public final BooleanProperty javaScriptEnabledProperty
Specifies whether JavaScript execution is enabled.Default value:
true
Since:
JavaFX 2.2
-
userStyleSheetLocation
public final StringProperty userStyleSheetLocationProperty
Location of the user stylesheet as a string URL.This should be a local URL, i.e. either
'data:','file:', or'jar:'. Remote URLs are not allowed for security reasons.Default value:
null
Since:
JavaFX 2.2
-
userDataDirectory
public final ObjectProperty<File> userDataDirectoryProperty
Specifies the directory to be used by thisWebEngineto store local user data.If the value of this property is not
null, theWebEnginewill attempt to store local user data in the respective directory. If the value of this property isnull, theWebEnginewill attempt to store local user data in an automatically selected system-dependent user- and application-specific directory.When a
WebEngineis about to start loading a web page or executing a script for the first time, it checks whether it can actually use the directory specified by this property. If the check fails for some reason, theWebEngineinvokes theWebEngine.onErrorevent handler, if any, with aWebErrorEventdescribing the reason. If the invoked event handler modifies theuserDataDirectoryproperty, theWebEngineretries with the new value as soon as the handler returns. If the handler does not modify theuserDataDirectoryproperty (which is the default), theWebEnginecontinues without local user data.Once the
WebEnginehas started loading a web page or executing a script, changes made to this property have no effect on where theWebEnginestores or will store local user data.Currently, the directory specified by this property is used only to store the data that backs the
window.localStorageobjects. In the future, more types of data can be added.
-
userAgent
public final StringProperty userAgentProperty
Specifies user agent ID string. This string is the value of theUser-AgentHTTP header.
-
onAlert
public final ObjectProperty<EventHandler<WebEvent<String>>> onAlertProperty
JavaScriptalerthandler property. This handler is invoked when a script running on the Web page calls thealertfunction.See Also:
-
onStatusChanged
public final ObjectProperty<EventHandler<WebEvent<String>>> onStatusChangedProperty
JavaScript status handler property. This handler is invoked when a script running on the Web page setswindow.statusproperty.
-
onResized
public final ObjectProperty<EventHandler<WebEvent<Rectangle2D>>> onResizedProperty
JavaScript window resize handler property. This handler is invoked when a script running on the Web page moves or resizes thewindowobject.See Also:
-
onVisibilityChanged
public final ObjectProperty<EventHandler<WebEvent<Boolean>>> onVisibilityChangedProperty
JavaScript window visibility handler property. This handler is invoked when a script running on the Web page changes visibility of thewindowobject.
-
createPopupHandler
public final ObjectProperty<Callback<PopupFeatures,WebEngine>> createPopupHandlerProperty
JavaScript popup handler property. This handler is invoked when a script running on the Web page requests a popup to be created.To satisfy this request a handler may create a new
WebEngine, attach a visibility handler and optionally a resize handler, and return the newly created engine. To block the popup, a handler should returnnull.By default, a popup handler is installed that opens popups in this
WebEngine.
-
confirmHandler
public final ObjectProperty<Callback<String,Boolean>> confirmHandlerProperty
JavaScriptconfirmhandler property. This handler is invoked when a script running on the Web page calls theconfirmfunction.An implementation may display a dialog box with Yes and No options, and return the user's choice.
See Also:
-
promptHandler
public final ObjectProperty<Callback<PromptData,String>> promptHandlerProperty
JavaScriptprompthandler property. This handler is invoked when a script running on the Web page calls thepromptfunction.An implementation may display a dialog box with an text field, and return the user's input.
See Also:
-
onError
public final ObjectProperty<EventHandler<WebErrorEvent>> onErrorProperty
The event handler called when an error occurs.
-
-
Constructor Detail
-
WebEngine
public WebEngine()
Creates a new engine.
-
WebEngine
public WebEngine(String url)
Creates a new engine and loads a Web page into it.
-
-
Method Detail
-
getLoadWorker
public final Worker<Void> getLoadWorker()
Returns aWorkerobject that can be used to track loading progress.
-
getDocument
public final Document getDocument()
Returns the document object for the current Web page. If the Web page failed to load, returnsnull.
-
documentProperty
public final ReadOnlyObjectProperty<Document> documentProperty()
Document object for the current Web page. The value isnullif the Web page failed to load.
-
getLocation
public final String getLocation()
Returns URL of the current Web page. If the current page has no URL, returns an empty String.
-
locationProperty
public final ReadOnlyStringProperty locationProperty()
URL of the current Web page. If the current page has no URL, the value is an empty String.
-
getTitle
public final String getTitle()
Returns title of the current Web page. If the current page has no title, returnsnull.
-
titleProperty
public final ReadOnlyStringProperty titleProperty()
Title of the current Web page. If the current page has no title, the value isnull.
-
setJavaScriptEnabled
public final void setJavaScriptEnabled(boolean value)
Sets the value of the property javaScriptEnabled.Property description:
Specifies whether JavaScript execution is enabled.
Default value:
true
Since:
JavaFX 2.2
-
isJavaScriptEnabled
public final boolean isJavaScriptEnabled()
Gets the value of the property javaScriptEnabled.Property description:
Specifies whether JavaScript execution is enabled.
Default value:
true
Since:
JavaFX 2.2
-
javaScriptEnabledProperty
public final BooleanProperty javaScriptEnabledProperty()
Specifies whether JavaScript execution is enabled.Default value:
true
Since:
JavaFX 2.2
-
setUserStyleSheetLocation
public final void setUserStyleSheetLocation(String value)
Sets the value of the property userStyleSheetLocation.Property description:
Location of the user stylesheet as a string URL.
This should be a local URL, i.e. either
'data:','file:', or'jar:'. Remote URLs are not allowed for security reasons.Default value:
null
Since:
JavaFX 2.2
-
getUserStyleSheetLocation
public final String getUserStyleSheetLocation()
Gets the value of the property userStyleSheetLocation.Property description:
Location of the user stylesheet as a string URL.
This should be a local URL, i.e. either
'data:','file:', or'jar:'. Remote URLs are not allowed for security reasons.Default value:
null
Since:
JavaFX 2.2
-
userStyleSheetLocationProperty
public final StringProperty userStyleSheetLocationProperty()
Location of the user stylesheet as a string URL.This should be a local URL, i.e. either
'data:','file:', or'jar:'. Remote URLs are not allowed for security reasons.Default value:
null
Since:
JavaFX 2.2
-
getUserDataDirectory
public final File getUserDataDirectory()
Gets the value of the property userDataDirectory.Property description:
Specifies the directory to be used by this
WebEngineto store local user data.If the value of this property is not
null, theWebEnginewill attempt to store local user data in the respective directory. If the value of this property isnull, theWebEnginewill attempt to store local user data in an automatically selected system-dependent user- and application-specific directory.When a
WebEngineis about to start loading a web page or executing a script for the first time, it checks whether it can actually use the directory specified by this property. If the check fails for some reason, theWebEngineinvokes theWebEngine.onErrorevent handler, if any, with aWebErrorEventdescribing the reason. If the invoked event handler modifies theuserDataDirectoryproperty, theWebEngineretries with the new value as soon as the handler returns. If the handler does not modify theuserDataDirectoryproperty (which is the default), theWebEnginecontinues without local user data.Once the
WebEnginehas started loading a web page or executing a script, changes made to this property have no effect on where theWebEnginestores or will store local user data.Currently, the directory specified by this property is used only to store the data that backs the
window.localStorageobjects. In the future, more types of data can be added.Default value:
nullSince:
JavaFX 8.0
-
setUserDataDirectory
public final void setUserDataDirectory(File value)
Sets the value of the property userDataDirectory.Property description:
Specifies the directory to be used by this
WebEngineto store local user data.If the value of this property is not
null, theWebEnginewill attempt to store local user data in the respective directory. If the value of this property isnull, theWebEnginewill attempt to store local user data in an automatically selected system-dependent user- and application-specific directory.When a
WebEngineis about to start loading a web page or executing a script for the first time, it checks whether it can actually use the directory specified by this property. If the check fails for some reason, theWebEngineinvokes theWebEngine.onErrorevent handler, if any, with aWebErrorEventdescribing the reason. If the invoked event handler modifies theuserDataDirectoryproperty, theWebEngineretries with the new value as soon as the handler returns. If the handler does not modify theuserDataDirectoryproperty (which is the default), theWebEnginecontinues without local user data.Once the
WebEnginehas started loading a web page or executing a script, changes made to this property have no effect on where theWebEnginestores or will store local user data.Currently, the directory specified by this property is used only to store the data that backs the
window.localStorageobjects. In the future, more types of data can be added.Default value:
nullSince:
JavaFX 8.0
-
userDataDirectoryProperty
public final ObjectProperty<File> userDataDirectoryProperty()
Specifies the directory to be used by thisWebEngineto store local user data.If the value of this property is not
null, theWebEnginewill attempt to store local user data in the respective directory. If the value of this property isnull, theWebEnginewill attempt to store local user data in an automatically selected system-dependent user- and application-specific directory.When a
WebEngineis about to start loading a web page or executing a script for the first time, it checks whether it can actually use the directory specified by this property. If the check fails for some reason, theWebEngineinvokes theWebEngine.onErrorevent handler, if any, with aWebErrorEventdescribing the reason. If the invoked event handler modifies theuserDataDirectoryproperty, theWebEngineretries with the new value as soon as the handler returns. If the handler does not modify theuserDataDirectoryproperty (which is the default), theWebEnginecontinues without local user data.Once the
WebEnginehas started loading a web page or executing a script, changes made to this property have no effect on where theWebEnginestores or will store local user data.Currently, the directory specified by this property is used only to store the data that backs the
window.localStorageobjects. In the future, more types of data can be added.
-
setUserAgent
public final void setUserAgent(String value)
Sets the value of the property userAgent.Property description:
Specifies user agent ID string. This string is the value of the
User-AgentHTTP header.Default value:
system dependent
Since:
JavaFX 8.0
-
getUserAgent
public final String getUserAgent()
Gets the value of the property userAgent.Property description:
Specifies user agent ID string. This string is the value of the
User-AgentHTTP header.Default value:
system dependent
Since:
JavaFX 8.0
-
userAgentProperty
public final StringProperty userAgentProperty()
Specifies user agent ID string. This string is the value of theUser-AgentHTTP header.
-
getOnAlert
public final EventHandler<WebEvent<String>> getOnAlert()
Returns the JavaScriptalerthandler.
-
setOnAlert
public final void setOnAlert(EventHandler<WebEvent<String>> handler)
Sets the JavaScriptalerthandler.See Also:
-
onAlertProperty
public final ObjectProperty<EventHandler<WebEvent<String>>> onAlertProperty()
JavaScriptalerthandler property. This handler is invoked when a script running on the Web page calls thealertfunction.See Also:
-
getOnStatusChanged
public final EventHandler<WebEvent<String>> getOnStatusChanged()
Returns the JavaScript status handler.
-
setOnStatusChanged
public final void setOnStatusChanged(EventHandler<WebEvent<String>> handler)
Sets the JavaScript status handler.See Also:
-
onStatusChangedProperty
public final ObjectProperty<EventHandler<WebEvent<String>>> onStatusChangedProperty()
JavaScript status handler property. This handler is invoked when a script running on the Web page setswindow.statusproperty.
-
getOnResized
public final EventHandler<WebEvent<Rectangle2D>> getOnResized()
Returns the JavaScript window resize handler.
-
setOnResized
public final void setOnResized(EventHandler<WebEvent<Rectangle2D>> handler)
Sets the JavaScript window resize handler.See Also:
-
onResizedProperty
public final ObjectProperty<EventHandler<WebEvent<Rectangle2D>>> onResizedProperty()
JavaScript window resize handler property. This handler is invoked when a script running on the Web page moves or resizes thewindowobject.See Also:
-
getOnVisibilityChanged
public final EventHandler<WebEvent<Boolean>> getOnVisibilityChanged()
Returns the JavaScript window visibility handler.
-
setOnVisibilityChanged
public final void setOnVisibilityChanged(EventHandler<WebEvent<Boolean>> handler)
Sets the JavaScript window visibility handler.
-
onVisibilityChangedProperty
public final ObjectProperty<EventHandler<WebEvent<Boolean>>> onVisibilityChangedProperty()
JavaScript window visibility handler property. This handler is invoked when a script running on the Web page changes visibility of thewindowobject.
-
getCreatePopupHandler
public final Callback<PopupFeatures,WebEngine> getCreatePopupHandler()
Returns the JavaScript popup handler.
-
setCreatePopupHandler
public final void setCreatePopupHandler(Callback<PopupFeatures,WebEngine> handler)
Sets the JavaScript popup handler.
-
createPopupHandlerProperty
public final ObjectProperty<Callback<PopupFeatures,WebEngine>> createPopupHandlerProperty()
JavaScript popup handler property. This handler is invoked when a script running on the Web page requests a popup to be created.To satisfy this request a handler may create a new
WebEngine, attach a visibility handler and optionally a resize handler, and return the newly created engine. To block the popup, a handler should returnnull.By default, a popup handler is installed that opens popups in this
WebEngine.
-
getConfirmHandler
public final Callback<String,Boolean> getConfirmHandler()
Returns the JavaScriptconfirmhandler.
-
setConfirmHandler
public final void setConfirmHandler(Callback<String,Boolean> handler)
Sets the JavaScriptconfirmhandler.See Also:
-
confirmHandlerProperty
public final ObjectProperty<Callback<String,Boolean>> confirmHandlerProperty()
JavaScriptconfirmhandler property. This handler is invoked when a script running on the Web page calls theconfirmfunction.An implementation may display a dialog box with Yes and No options, and return the user's choice.
See Also:
-
getPromptHandler
public final Callback<PromptData,String> getPromptHandler()
Returns the JavaScriptprompthandler.
-
setPromptHandler
public final void setPromptHandler(Callback<PromptData,String> handler)
Sets the JavaScriptprompthandler.See Also:
-
promptHandlerProperty
public final ObjectProperty<Callback<PromptData,String>> promptHandlerProperty()
JavaScriptprompthandler property. This handler is invoked when a script running on the Web page calls thepromptfunction.An implementation may display a dialog box with an text field, and return the user's input.
See Also:
-
getOnError
public final EventHandler<WebErrorEvent> getOnError()
Gets the value of the property onError.Property description:
The event handler called when an error occurs.
Default value:
nullSince:
JavaFX 8.0
-
setOnError
public final void setOnError(EventHandler<WebErrorEvent> handler)
Sets the value of the property onError.Property description:
The event handler called when an error occurs.
Default value:
nullSince:
JavaFX 8.0
-
onErrorProperty
public final ObjectProperty<EventHandler<WebErrorEvent>> onErrorProperty()
The event handler called when an error occurs.
-
load
public void load(String url)
Loads a Web page into this engine. This method starts asynchronous loading and returns immediately.Parameters:
url- URL of the web page to load
-
loadContent
public void loadContent(String content)
Loads the given HTML content directly. This method is useful when you have an HTML String composed in memory, or loaded from some system which cannot be reached via a URL (for example, the HTML text may have come from a database). As withload(String), this method is asynchronous.
-
loadContent
public void loadContent(String content, String contentType)Loads the given content directly. This method is useful when you have content composed in memory, or loaded from some system which cannot be reached via a URL (for example, the SVG text may have come from a database). As withload(String), this method is asynchronous. This method also allows you to specify the content type of the string being loaded, and so may optionally support other types besides just HTML.
-
reload
public void reload()
Reloads the current page, whether loaded from URL or directly from a String in one of theloadContentmethods.
-
getHistory
public WebHistory getHistory()
Returns the session history object.Returns:
history object
Since:
JavaFX 2.2
-
executeScript
public Object executeScript(String script)
Executes a script in the context of the current page.Returns:
execution result, converted to a Java object using the following rules:
- JavaScript Int32 is converted to
java.lang.Integer - Other JavaScript numbers to
java.lang.Double - JavaScript string to
java.lang.String - JavaScript boolean to
java.lang.Boolean - JavaScript
nulltonull - Most JavaScript objects get wrapped as
netscape.javascript.JSObject - JavaScript JSNode objects get mapped to instances of
netscape.javascript.JSObject, that also implementorg.w3c.dom.Node - A special case is the JavaScript class
JavaRuntimeObjectwhich is used to wrap a Java object as a JavaScript value - in this case we just extract the original Java value.
- JavaScript Int32 is converted to
-
print
public void print(PrinterJob job)
Prints the current Web page using the given printer job.This method does not modify the state of the job, nor does it call
PrinterJob.endJob(), so the job may be safely reused afterwards.Parameters:
job- printer job used for printingSince:
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.