C#中webbrowser與javascript(js)交互的方法


今天在做一個項目的時候需要用c#搞一個webbrowser,然后有些地方還需要與js交互。所以就查了一下資料,發現很多博客提到了但是卻沒有說下具體的操作。所以我就寫一下.

開發環境是Visual Studio 2008 .閱讀此文需要有C#和javascript開發基礎。

1.首先新建一個項目,在默認窗體form1上拖拽一個webbrowser1.

2.給form1的Load時間事件添加如下代碼:

private void Form1_Load(object sender, EventArgs e)
{
     webBrowser1.ObjectForScripting = this;     
}

3.打開解決方案資源管理器,在項目上單擊鼠標右鍵,選擇屬性打開項目屬性設置。

4.在應用程序選項卡中點擊程序集信息,然后勾選“使程序集COM可見”。

做完這些基本的設置之后就可以讓webbrowser和js交互了,交互方法如下:

C#調用js函數的方法:

首先在js中定義被c#調用的方法:
function  Messageaa(message)
{
      alert(message);
}
在c#調用js方法Messageaa
private void button1_Click(object sender, EventArgs e) { // 調用JavaScript的messageBox方法,並傳入參數 object[] objects = new object[1]; objects[0] = "c#diao javascript"; webBrowser1.Document.InvokeScript("Messageaa", objects); }

用JS調用C#函數的方法:

首先在c#中定義被js調用的方法:
public void MyMessageBox(string message)
{
    MessageBox.Show(message);
}

在js中調用c#方法:
<!-- 調用C#方法 -->
<button onclick="window.external.MyMessageBox('javascript訪問C#代碼')" >
javascript訪問C#代碼</button>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM