C#WinForm集成Webkit浏览器内核

/ C# / 没有评论 / 4330浏览

下载WebKit程序集

官方下载地址:Download WebKit .NET from SourceForge.net

百度云分享:链接:http://pan.baidu.com/s/1nuQRKvv 密码:uquf

项目一打包上传:项目下载地址:http://download.csdn.net/detail/qcmy980/9652548

添加WebKitBrowser.dll文件添加引用

需要引用到整个目录,相同目录下必须包含WebKitBrowser.dll.manifest ,否则会报WIN32位错。

在构造函数中写上如下代码  

WebKit.WebKitBrowser webkit = new WebKit.WebKitBrowser();
webkit.Dock = DockStyle.Fill;
webkit.Navigate("http://www.baidu.com");
this.Controls.Add(webkit);

更改目标平台为X86(也就是可以在32位系统运行)

页面JAVASCRIPT与C#交互

定义class

class myClass  
{  
    public void Test()  
    {  
        System.Windows.Forms.MessageBox.Show("alert:Test");  
    }  
}  

C# 调用HTML中的Javascript

this.webkit.GetScriptManager.EvaluateScript("var obj=window.external;");  

Javascript调用CSharp

  1. C# 页面:
private void Form1_Load(object sender, EventArgs e)  
{  
    this.webKitBrowser1.Navigate("http://yourWebSiteUrl");  
    this.webKitBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webKitBrowser1_DocumentCompleted);  
}  
void webKitBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)  
{  
    this.webKitBrowser1.GetScriptManager.ScriptObject = new myClass();  
}  
  1. HTML JS:
window.external.Test() ;