C# 代码
public partial class FormCef : Form
{
public ChromiumWebBrowser chrom = new ChromiumWebBrowser();
public FormCef()
{
InitializeComponent();
if (!Cef.IsInitialized)
{
CefSettings settings = new CefSettings();
//设置JS跨域;
settings.MultiThreadedMessageLoop = true;
settings.CefCommandLineArgs.Add("--disable-web-security", "");
Cef.Initialize(settings, performDependencyCheck: false, browserProcessHandler: null);
}
CefSharpSettings.WcfEnabled = true;
//老版本是:CefSharpSettings.LegacyJavascriptBindingEnabled = true;
chrom.JavascriptObjectRepository.Settings.LegacyBindingEnabled = true;
//注册方法
chrom.JavascriptObjectRepository.Register("winformFun", new winformFun(), isAsync: false, options: BindingOptions.DefaultBinder);
}
}
//测试方法
public class winformFun
{
public void showTest2()
{
MessageBox.Show("ShowTest2222");
}
public void showTest(string txt)
{
MessageBox.Show("this in C#.\n\r" + txt);
}
}
JS代码:
<html>
<input type="button" onclick="ShowTest()" value="winformFun.ShowTest" />
<script language=javascript>
function ShowTest(){
winformFun.showTest("hello");
}
</script>
</html>