I'm trying to use EvaluateScriptAsPromiseAsync
with CefSharp.
It seems to work in the browser, but I get a null result in cefSharp.
Javascript:
(async function() {
const result = await $.ajax({ type: 'GET', url: './robots.txt' });
return result;
})();
CSharp Code:
var result = await browser.EvaluateScriptAsPromiseAsync(script);
Debug.Assert(result.Result != null);
Full Code:
public partial class Form1 : Form
{
ChromiumWebBrowser browser;
public Form1()
{
InitializeComponent();
browser = new ChromiumWebBrowser("jquery.com");
this.Controls.Add(browser);
browser.FrameLoadEnd += Browser_FrameLoadEnd;
}
private void Browser_FrameLoadEnd(object sender, FrameLoadEndEventArgs e)
{
const string script = @"(async function() {
const result = await $.ajax({ type: 'GET', url: './robots.txt' });
return result;
})();";
if (e.Frame.IsMain)
{
// Get us off the main thread
Task task = new Task(async () =>
{
var result = await browser.EvaluateScriptAsPromiseAsync(script);
Debug.Assert(result.Result != null);
});
task.Start();
}
}
}