InAppWebViewController class
Controls a WebView, such as an InAppWebView widget instance, a HeadlessInAppWebView instance or InAppBrowser WebView instance.
If you are using the InAppWebView widget, an InAppWebViewController instance can be obtained by setting the InAppWebView.onWebViewCreated callback. Instead, if you are using an InAppBrowser instance, you can get it through the InAppBrowser.webViewController attribute.
Constructors
- InAppWebViewController(dynamic id, WebView webview)
-
InAppWebViewController.fromInAppBrowser(MethodChannel channel, InAppBrowser inAppBrowser, UnmodifiableListView<
UserScript> ? initialUserScripts)
Properties
- android ↔ AndroidInAppWebViewController
-
Android controller that contains only android-specific methods
getter/setter pair
- hashCode → int
-
The hash code for this object.
no setterinherited
- ios ↔ IOSInAppWebViewController
-
iOS controller that contains only ios-specific methods
getter/setter pair
-
javaScriptHandlersMap
↔ Map<
String, JavaScriptHandlerCallback> -
getter/setter pair
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- webStorage ↔ WebStorage
-
Provides access to the JavaScript Web Storage API:
window.sessionStorage
andwindow.localStorage
.getter/setter pair
Methods
-
addJavaScriptHandler(
{required String handlerName, required JavaScriptHandlerCallback callback}) → void -
Adds a JavaScript message handler
callback
(JavaScriptHandlerCallback) that listen to post messages sent from JavaScript by the handler with namehandlerName
. -
addUserScript(
{required UserScript userScript}) → Future< void> -
Injects the specified
userScript
into the webpage’s content. -
addUserScripts(
{required List< UserScript> userScripts}) → Future<void> -
Injects the
userScripts
into the webpage’s content. -
addWebMessageListener(
WebMessageListener webMessageListener) → Future< void> - Adds a WebMessageListener to the WebView and injects a JavaScript object into each frame that the WebMessageListener will listen on.
-
callAsyncJavaScript(
{required String functionBody, Map< String, dynamic> arguments = const <String, dynamic>{}, ContentWorld? contentWorld}) → Future<CallAsyncJavaScriptResult?> - Executes the specified string as an asynchronous JavaScript function.
-
canGoBack(
) → Future< bool> - Returns a boolean value indicating whether the WebView can move backward.
-
canGoBackOrForward(
{required int steps}) → Future< bool> - Returns a boolean value indicating whether the WebView can go back or forward the given number of steps. Steps is negative if backward and positive if forward.
-
canGoForward(
) → Future< bool> - Returns a boolean value indicating whether the WebView can move forward.
-
canScrollHorizontally(
) → Future< bool> -
Returns
true
if the webpage can scroll horizontally, otherwisefalse
. -
canScrollVertically(
) → Future< bool> -
Returns
true
if the webpage can scroll vertically, otherwisefalse
. -
clearCache(
) → Future< void> - Clears all the WebView's cache.
-
clearFocus(
) → Future< void> - Clears the current focus. On iOS and Android native WebView, it will clear also, for example, the current text selection.
-
clearMatches(
) → Future< void> - Clears the highlighting surrounding text matches created by findAllAsync().
-
createWebMessageChannel(
) → Future< WebMessageChannel?> - Creates a message channel to communicate with JavaScript and returns the message channel with ports that represent the endpoints of this message channel. The HTML5 message channel functionality is described here.
-
evaluateJavascript(
{required String source, ContentWorld? contentWorld}) → Future -
Evaluates JavaScript
source
code into the WebView and returns the result of the evaluation. -
findAllAsync(
{required String find}) → Future< void> - Finds all instances of find on the page and highlights them. Notifies WebView.onFindResultReceived listener.
-
findNext(
{required bool forward}) → Future< void> - Highlights and scrolls to the next match found by findAllAsync. Notifies WebView.onFindResultReceived listener.
-
getCertificate(
) → Future< SslCertificate?> - Gets the SSL certificate for the main top-level page or null if there is no certificate (the site is not secure).
-
getContentHeight(
) → Future< int?> - Gets the height of the HTML content.
-
getCopyBackForwardList(
) → Future< WebHistory?> - Gets the WebHistory for this WebView. This contains the back/forward list for use in querying each item in the history stack. This contains only a snapshot of the current state. Multiple calls to this method may return different objects. The object returned from this method will not be updated to reflect any new state.
-
getFavicons(
) → Future< List< Favicon> > - Gets the list of all favicons for the current page.
-
getHitTestResult(
) → Future< InAppWebViewHitTestResult?> - Gets the hit result for hitting an HTML elements.
-
getHtml(
) → Future< String?> - Gets the content html of the page. It first tries to get the content through javascript. If this doesn't work, it tries to get the content reading the file:
-
getMetaTags(
) → Future< List< MetaTag> > -
Returns the list of
<meta>
tags of the current WebView. -
getMetaThemeColor(
) → Future< Color?> -
Returns an instance of
Color
representing thecontent
value of the<meta name="theme-color" content="">
tag of the current WebView, if available, otherwisenull
. -
getOptions(
) → Future< InAppWebViewGroupOptions?> -
Gets the current WebView options. Returns
null
if it wasn't able to get them. -
getOriginalUrl(
) → Future< Uri?> -
Gets the URL that was originally requested for the current page.
This is not always the same as the URL passed to
InAppWebView.onLoadStarted
because although the load for that URL has begun, the current page may not have changed. Also, there may have been redirects resulting in a different URL to that originally requested. -
getProgress(
) → Future< int?> - Gets the progress for the current page. The progress value is between 0 and 100.
-
getScale(
) → Future< double?> - Use getZoomScale instead.
-
getScrollX(
) → Future< int?> - Returns the scrolled left position of the current WebView.
-
getScrollY(
) → Future< int?> - Returns the scrolled top position of the current WebView.
-
getSelectedText(
) → Future< String?> - Gets the selected text.
-
getTitle(
) → Future< String?> - Gets the title for the current page.
-
getTRexRunnerCss(
) → Future< String> - Gets the css of the Chromium's t-rex runner game. Used in combination with getTRexRunnerHtml.
-
getTRexRunnerHtml(
) → Future< String> - Gets the html (with javascript) of the Chromium's t-rex runner game. Used in combination with getTRexRunnerCss.
-
getUrl(
) → Future< Uri?> - Gets the URL for the current page. This is not always the same as the URL passed to WebView.onLoadStart because although the load for that URL has begun, the current page may not have changed.
-
getZoomScale(
) → Future< double?> - Gets the current zoom scale of the WebView.
-
goBack(
) → Future< void> - Goes back in the history of the WebView.
-
goBackOrForward(
{required int steps}) → Future< void> - Goes to the history item that is the number of steps away from the current item. Steps is negative if backward and positive if forward.
-
goForward(
) → Future< void> - Goes forward in the history of the WebView.
-
goTo(
{required WebHistoryItem historyItem}) → Future< void> - Navigates to a WebHistoryItem from the back-forward WebHistory.list and sets it as the current item.
-
handleMethod(
MethodCall call) → Future -
injectCSSCode(
{required String source}) → Future< void> - Injects CSS into the WebView.
-
injectCSSFileFromAsset(
{required String assetFilePath}) → Future< void> - Injects a CSS file into the WebView from the flutter assets directory.
-
injectCSSFileFromUrl(
{required Uri urlFile, CSSLinkHtmlTagAttributes? cssLinkHtmlTagAttributes}) → Future< void> - Injects an external CSS file into the WebView from a defined url.
-
injectJavascriptFileFromAsset(
{required String assetFilePath}) → Future - Evaluates the content of a JavaScript file into the WebView from the flutter assets directory.
-
injectJavascriptFileFromUrl(
{required Uri urlFile, ScriptHtmlTagAttributes? scriptHtmlTagAttributes}) → Future< void> - Injects an external JavaScript file into the WebView from a defined url.
-
isLoading(
) → Future< bool> - Check if the WebView instance is in a loading state.
-
isSecureContext(
) → Future< bool> - Indicates whether the webpage context is capable of using features that require secure contexts. This is implemented using Javascript (see window.isSecureContext).
-
loadData(
{required String data, String mimeType = "text/html", String encoding = "utf8", Uri? baseUrl, Uri? androidHistoryUrl, Uri? historyUrl, Uri? iosAllowingReadAccessTo, Uri? allowingReadAccessTo}) → Future< void> -
Loads the given
data
into this WebView, usingbaseUrl
as the base URL for the content. -
loadFile(
{required String assetFilePath}) → Future< void> -
Loads the given
assetFilePath
. -
loadUrl(
{required URLRequest urlRequest, Uri? iosAllowingReadAccessTo, Uri? allowingReadAccessTo}) → Future< void> -
Loads the given
urlRequest
. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
pauseTimers(
) → Future< void> - On Android native WebView, it pauses all layout, parsing, and JavaScript timers for all WebViews. This is a global requests, not restricted to just this WebView. This can be useful if the application has been paused.
-
postUrl(
{required Uri url, required Uint8List postData}) → Future< void> -
Loads the given
url
withpostData
(x-www-form-urlencoded) usingPOST
method into this WebView. -
postWebMessage(
{required WebMessage message, Uri? targetOrigin}) → Future< void> - Post a message to main frame. The embedded application can restrict the messages to a certain target origin. See HTML5 spec for how target origin can be used.
-
printCurrentPage(
) → Future< void> - Prints the current page.
-
reload(
) → Future< void> - Reloads the WebView.
-
removeAllUserScripts(
) → Future< void> - Removes all the user scripts from the webpage’s content.
-
removeJavaScriptHandler(
{required String handlerName}) → JavaScriptHandlerCallback? -
Removes a JavaScript message handler previously added with the addJavaScriptHandler() associated to
handlerName
key. Returns the value associated withhandlerName
before it was removed. Returnsnull
ifhandlerName
was not found. -
removeUserScript(
{required UserScript userScript}) → Future< bool> -
Removes the specified
userScript
from the webpage’s content. User scripts already loaded into the webpage's content cannot be removed. This will have effect only on the next page load. Returnstrue
ifuserScript
was in the list,false
otherwise. -
removeUserScripts(
{required List< UserScript> userScripts}) → Future<void> -
Removes the
userScripts
from the webpage’s content. User scripts already loaded into the webpage's content cannot be removed. This will have effect only on the next page load. -
removeUserScriptsByGroupName(
{required String groupName}) → Future< void> -
Removes all the UserScripts with
groupName
as group name from the webpage’s content. User scripts already loaded into the webpage's content cannot be removed. This will have effect only on the next page load. -
requestFocusNodeHref(
) → Future< RequestFocusNodeHrefResult?> - Requests the anchor or image element URL at the last tapped point.
-
requestImageRef(
) → Future< RequestImageRefResult?> - Requests the URL of the image last touched by the user.
-
resumeTimers(
) → Future< void> - On Android, it resumes all layout, parsing, and JavaScript timers for all WebViews. This will resume dispatching all timers.
-
saveWebArchive(
{required String filePath, bool autoname = false}) → Future< String?> -
Saves the current WebView as a web archive.
Returns the file path under which the web archive file was saved, or
null
if saving the file failed. -
scrollBy(
{required int x, required int y, bool animated = false}) → Future< void> - Moves the scrolled position of the WebView.
-
scrollTo(
{required int x, required int y, bool animated = false}) → Future< void> - Scrolls the WebView to the position.
-
setContextMenu(
ContextMenu? contextMenu) → Future< void> - Sets or updates the WebView context menu to be used next time it will appear.
-
setOptions(
{required InAppWebViewGroupOptions options}) → Future< void> -
Sets the WebView options with the new
options
and evaluates them. -
stopLoading(
) → Future< void> - Stops the WebView from loading.
-
takeScreenshot(
{ScreenshotConfiguration? screenshotConfiguration}) → Future< Uint8List?> -
Takes a screenshot of the WebView's visible viewport and returns a
Uint8List
. Returnsnull
if it wasn't be able to take it. -
toString(
) → String -
A string representation of this object.
inherited
-
zoomBy(
{required double zoomFactor, bool? iosAnimated, bool animated = false}) → Future< void> - Performs a zoom operation in this WebView.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
getDefaultUserAgent(
) → Future< String> - Gets the default user agent.