c#和javascript函數相互調用示例

在設置過webBrowser控件的ObjectForScripting屬性後,還需要設置應用程序對com可見,不然會拋出一個異常(ObjectForScripting 的類必須對 COM 可見。請確認該對象是公共的,或考慮向您的'類添加 ComVisible 屬性。),可做如下設置:

c#和javascript函數相互調用示例

[isible(true)]

例如:

複製代碼 代碼如下:

[ComVisible(true)]

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

protected override void OnLoad(EventArgs e)

{

ctForScripting = this;

gate("");

ad(e);

}

}

如果要和JS通訊,使用webBrowser的Document對象的InvokeScript方法即可。

該方法簽名如下:

InvokeScript(String spriteName,object[] args);

例如:

複製代碼 代碼如下:

//提供給c#調用的方法

function test(n,s){

alert(n+"/"+s);

} //調用C#的方法

function callCSharp(){ //這裏可以看到rnal被設置成了什麼

alert(rnal);

("hello",15);

}

call c#

調用:keScript("test", new Object[] {1,"hello"});