C# webBrowser与javascript互调
生活随笔
收集整理的這篇文章主要介紹了
C# webBrowser与javascript互调
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
實現步驟:
一、新建一個窗體,加入webBrowser控件
????控件名:webBrowser1
?
二、在窗體后臺代碼加入如下定義
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
public partial class Form1 : Form
{
//...
}
三、加載網頁
????webBrowser1.Navigate(Application.StartupPath + "/UpDateReport.htm");
????webBrowser1.ObjectForScripting = this;??//這句必須,不然js不能調用C#
四、調用腳本方法
/// <summary>
/// 腳本方法
/// </summary>
/// <param name="tag">JS函數名|參數1|參數2</param>
/// <returns></returns>
private object EXEC_JS(System.Windows.Forms.WebBrowser webBrowser, string tag)
{
string[] args = tag.Split('|');
if (args.Length == 1)
{
return webBrowser.Document.InvokeScript(args[0], null);
}
else
{
object[] objects = new object[args.Length - 1];
Array.Copy(args, 1, objects, 0, objects.Length);
return webBrowser.Document.InvokeScript(args[0], objects);
}
}
五、C#調用腳本方法例子,可以有返回值
//JS方法
<script language="javascript">
function js_fun(args)
{
alert("我是通過js腳本彈出的。你輸入的內容是:"+args);
return "JAVASCRIPT";
}
</script>
//C#代碼
object returnvalue = EXEC_JS(webBrowser1, "js_fun|參數字符串");
MessageBox.Show("js方法返回值是:" + returnvalue.ToString());
六、JS調用C#方法的例子
//C#方法
public string Test(string args)
{
return "你輸入的是:"+args;
}
//JS代碼
<script language="javascript">
window.onload = function()
{
var CS_returnvalue= window.external.Test("aaa");
alert(CS_returnvalue);
}
</script>
轉載于:https://www.cnblogs.com/zyx_blog/articles/1993473.html
總結
以上是生活随笔為你收集整理的C# webBrowser与javascript互调的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: EXTjs grid与json数据 转载
- 下一篇: Linux Grep 命令说明