javascript 代码中window.external的使用

C#与javascript交互

1.在Form中,要让WebBrowser控件中的页面执行一段js代码,可以运行以下代码:

IHTMLDocument2doc2=(IHTMLDocument2)webBrowser.Document.DomDocument;

if(doc2!=null)

{

if(doc2.parentWindow!=null)

{

doc2.parentWindow.execScript(js_code,"javascript");

}

}

2.要在javascript代码中,修改Form窗体中的变量,或是调用它的方法,得先把这些变量和方法的定义修改成public的。

如,在Form中有个方法是publicForm.BeginDownloadPage(String[]urls)

则在javascript代码中,在构造好下载链接后,通过window.external.BeginDownloadPage(String[]urls),就可以把参数传到外部的窗口函数中,交给外部的API来处理。

3.另外要注意,需要在初始化代码中,加入一个属性设置

给webBrowser1设置属性如下:

webBrowser1.ObjectForScripting=this;

4.窗体类前增加以下设置:

[System.Runtime.InteropServices.ComVisibleAttribute(true)]

publicpartialclassForm1:Form

相关推荐