Cefsharp使用教程四( js回调,C#方法)
2017-05-26 14:02
1161 查看
1.基本的同(异)步js操作
browser.GetBrowser().MainFrame.ExecuteJavaScriptAsync("document.getElementById('testid').click();"); browser.GetBrowser().MainFrame.ExecuteJavaScriptAsync("document.getElementById('testid2').value='123'");
2.其他Frame操作
string script = "if(document.getElementById('img_out_10000')){ document.getElementById('img_out_10000').click(); }"; var list = browser.GetBrowser().GetFrameNames(); if (list.Count > 1) { browser.GetBrowser().GetFrame(list[1]).ExecuteJavaScriptAsync(script); }
3.如何调用Javascript方法返回的结果呢?
如果您需要评估代码,返回一个值,使用Task EvaluateScriptAsync(string script, TimeSpan? timeout)方法。 JavaScript代码是异步执行的,因此使用.NET Task类返回一个响应,其中包含错误消息,结果和一个成功(布尔)标志。// Get Document Height var task = frame.EvaluateScriptAsync("(function() { var body = document.body, html = document.documentElement; return Math.max( body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight ); })();", null); task.ContinueWith(t => { if (!t.IsFaulted) { var response = t.Result; EvaluateJavaScriptResult = response.Success ? (response.Result ?? "null") : response.Message; } }, TaskScheduler.FromCurrentSynchronizationContext());
4.你如何暴露的.NET类为Javascript?
public class BoundObject { public string MyProperty { get; set; } public void MyMethod() { // Do something really cool here. } } // ... //browser表示你的CefSharp对象使用它的RegisterJsObject来绑定你的.net类 browser.RegisterJsObject("bound", new BoundObject()); //在实际的JS代码中,你将使用这样的对象: bound.myProperty; // 使用此语法访问属性 bound.myMethod(); // 使用此调用方法。
相关文章推荐
- [Winform]CefSharp ——js调用c#方法
- 使用CEfSharp之旅(2) js前台事件执行后台方法
- 使用js调用内容文件网站的采集方法教程
- C#使用技巧之调用JS脚本方法二
- JSF页面中使用js函数回调后台bean方法并获取返回值的方法
- node.js入门教程之querystring模块的使用方法
- MFC使用CEF并实现js与C++交互功能,解决Render进程中OnContextCreated绑定与OnWebKitInitialized的js扩展无法回调问题
- C#入门教程之ListBox控件使用方法
- C#使用技巧之调用JS脚本方法一
- Xilium.CefGlue怎么使用Js调用C#方法
- Unity中使用C#脚本调用JS脚本的使用方法
- 易懂 易上手的cookie 最简单明了 js中cookie的使用方法及教程
- JS教程:window.location使用方法的区别介绍
- GET到新技能,SharpCEF,C#和JS的互相调用
- C# 异步调用中使用回调方法
- C#使用技巧之调用JS脚本方法一
- C#调用c++的dll 回调使用方法
- js模版引擎handlebars.js实用教程——each-基本循环使用方法
- C#使用技巧之调用JS脚本方法一
- JSF页面中使用js函数回调后台bean方法并获取返回值的方法