在.Net程序开发webBrowser程序过程中,会使用Javascript与C#语言进行交互,从而达到“富”网页程序的目的。
1)在C#中调用javascript函数
// 调用JavaScript的message方法,并传入参数
object[] objects = new object[1];
objects[0] = "param1";
this.webBrowser1.Document.InvokeScript(“message”, objects);
2)javascript调用C#中的函数
C#中的代码:
using System.Security.Permissions;
[PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
[ComVisible(true)]//com+可见
public partial classformMain:Form
{
public formMain(){
InitializeComponent();
this.webBrowserMain.ObjectForScripting = this;// 将当前类设置为可由脚本访问
}
......
//注意该方法是public
public void ShowMessage(string msg)
{
MessageBox.Show("JS交互",msg);
}
}
Javascript代码:
try{
window.external.ShowMessage("message!"); //通过external调用
}
catch(err)
{
alert("无法调用C#函数!");
}