JavaScript与C# Windows应用程序交互

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 });