在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
第一个坑: 必须在初始化的时候加上这句,注意:值是false,false,false(重要的事情说3遍),意思是不支持旧版绑定模式。 CefSharpSettings.LegacyJavascriptBindingEnabled = false;
第二个坑: 在HTML页面上必须加上这句,其中 bound 是在C#代码里注册对应的name参数。
CefSharp.BindObjectAsync('bound').then(function (result) { bound.SetAutoResetEvent('ID','text'); });
网页调用C#完整的步骤: 第一步: 初始化时加上这句: CefSharpSettings.LegacyJavascriptBindingEnabled = false; 第二步: 创建调用对象: public class CallClass { public CallClass() { } public void SetAutoResetEvent(string id,object objResult) { } } 注册对象 CallClass cc=new CallClass(); browser.JavascriptObjectRepository.Register("bound", cc, false);
第三步: 在HTML添加: CefSharp.BindObjectAsync('bound');
第四步: 在HTML的JS中调用: bound.SetAutoResetEvent('ID String','ResultString');
C#调用网页完整实例: var strJs = @" (function(){ try{ alert("执行成功"); }catch(e){ alert("error:"+e.description); } return true; })(); "; var bResult=browser.EvaluateScriptAsync(strJs).Result.Result; 执行完毕后bResult=true |
请发表评论