JavaScript通过window.external调用C#公开的方法。即由ObjectForScripting属性设置的类的实例中所包含的公共方法。具体设置例子如下:
Apis.Apis.Instance.Log.LogEvent += new LogEventHandler(Track_Log);
cexwb1.ObjectForScripting = Apis.Apis.Instance;
C#调用JavaScript方法
通过WebBrowser类的Document属性中的InvokeScript方法调用当前网页的Javascript方法。如:
// 调用JavaScript的messageBox方法,并传入参数
object[] objects = new object[1];
objects[0] = "C#访问JavaScript脚本";
webBrowser1.Document.InvokeScript("messageBox", objects);
// 调用JavaScript的eval方法,并传入参数
var js = File.ReadAllText(jsBase + "jq-1.4.2.js").Replace("var $MYCODE$;", strBuilder.ToString());
js = js.Replace("$LoginID$", txtFormID.Text);
js = js.Replace("$LoginPwd$", txtFormID.Text);
cexwb1.InvokeScript("eval", new object[] { js });