CefSharp与JS相互调用注意事项
2018-12-01 10:13阅读:
1、C#调用js
private void btnAlert_Click(object sender,
EventArgs e)
{
this.browser.GetBrowser().MainFrame.Execute;
//txtAccount
this.browser.GetBrowser().MainFrame.Execute;
}
2、js调用C#
首要要创建被调用的C#对象和方法,注意方法名要小写,大写的时候,会调用失败!
public class CefAsyncJS
{
private
string LoginAccount =
ConfigurationManager.AppSettings['LoginAccount'];
public
string getLoginAccount()
{
return LoginAccount;
}
public void
setLoginAccount(string data)
{
LoginAccount = data ?? '';
}
}
然后注册这个类
//注册C#对象,用来在js里面调用
//注意:RegisterAsyncJsObject的name必须是小写字母开头
//注意:CefAsyncJS类被JS调用的函数也必须是小写字母开头
CefSharpSettings.LegacyJavascriptBindingEnabled =
true;
chromeBrowser.RegisterJsObject('cefAsyncJS', new
CefAsyncJS(), BindingOptions.DefaultBinder);
这样,就能直接在js页面,调用C#方法
function SetLoginAccount(data) {
cefAsyncJS.setLoginAccount(data);
}
function GetLoginAccount() {
return
cefAsyncJS.getLoginAccount();
}