我使用CefSharp和从html文件加载的HTML编辑器。我得到了javascript代码来获取html编辑器的内容:
var markupStr = $('#summernote').summernote('code');
我需要在我的C#应用程序中返回markupStr
。我目前有什么:
var script = "$('#summernote').summernote('code');";
var result = ChromiumWebBrowser.GetMainFrame().EvaluateScriptAsync(script).Result.Message;
我可以毫不费力地在CefSharp中执行JavaScript,但是,如何检索markupStr
或$('#summernote').summernote('code');
设置的值?
答案 0 :(得分:-1)
让我们假设你的脚本变量看起来像这样(或像这样的smth):
var myScript = @"(function () {
return $('#summernote').summernote('code').val();
})();";
什么意味着返回值类型为string
。
然后你做一个简单的操作
var result = await myBrowserVariable.GetMainFrame().EvaluateScriptAsync(myScript)
.ContinueWith(t =>
{
var result = t.Result;
return (string)result;
});
现在'result'变量包含myScript
javascript方法执行的结果。
另外,请不要忘记添加空检查(因为t.Result
可以为null)并仅在当前帧已加载时调用EvaluateScriptAsync
方法。