CoreWebView2Frame.ExecuteScriptAsync(String) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Runs JavaScript code from the javaScript
parameter in the current frame.
public System.Threading.Tasks.Task<string> ExecuteScriptAsync (string javaScript);
member this.ExecuteScriptAsync : string -> System.Threading.Tasks.Task<string>
Public Function ExecuteScriptAsync (javaScript As String) As Task(Of String)
Parameters
- javaScript
- String
The JavaScript code to be run in the current frame.
Returns
A JSON encoded string that represents the result of running the provided JavaScript.
Examples
string iframesData = WebViewFrames_ToString();
string iframesInfo = "Enter iframe to run the JavaScript code in.\r\nAvailable iframes: " + iframesData;
var dialogIFrames = new TextInputDialog(
title: "Inject Script Into IFrame",
description: iframesInfo,
defaultInput: "0");
if (dialogIFrames.ShowDialog() == true)
{
int iframeNumber = -1;
try
{
iframeNumber = Int32.Parse(dialogIFrames.Input.Text);
}
catch (FormatException)
{
Console.WriteLine("Can not convert " + dialogIFrames.Input.Text + " to int");
}
if (iframeNumber >= 0 && iframeNumber < _webViewFrames.Count)
{
var dialog = new TextInputDialog(
title: "Inject Script",
description: "Enter some JavaScript to be executed in the context of iframe " + dialogIFrames.Input.Text,
defaultInput: "window.getComputedStyle(document.body).backgroundColor");
if (dialog.ShowDialog() == true)
{
string scriptResult = await _webViewFrames[iframeNumber].ExecuteScriptAsync(dialog.Input.Text);
MessageBox.Show(this, scriptResult, "Script Result");
}
}
}
Remarks
A function that has no explicit return value returns undefined
. If the script that was run throws an unhandled exception, then the result is also null
. This method is applied asynchronously. If the method is run before ContentLoading, the script will not be executed and the JSON null
will be returned. This operation works even if IsScriptEnabled is set to false
.