C# webBrowser与javascript互调
生活随笔
收集整理的這篇文章主要介紹了
C# webBrowser与javascript互调
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
實(shí)現(xiàn)步驟:
一、新建一個(gè)窗體,加入webBrowser控件
????控件名:webBrowser1
?
二、在窗體后臺(tái)代碼加入如下定義
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
public partial class Form1 : Form
{
//...
}
三、加載網(wǎng)頁
????webBrowser1.Navigate(Application.StartupPath + "/UpDateReport.htm");
????webBrowser1.ObjectForScripting = this;??//這句必須,不然js不能調(diào)用C#
四、調(diào)用腳本方法
/// <summary>
/// 腳本方法
/// </summary>
/// <param name="tag">JS函數(shù)名|參數(shù)1|參數(shù)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#調(diào)用腳本方法例子,可以有返回值
//JS方法
<script language="javascript">
function js_fun(args)
{
alert("我是通過js腳本彈出的。你輸入的內(nèi)容是:"+args);
return "JAVASCRIPT";
}
</script>
//C#代碼
object returnvalue = EXEC_JS(webBrowser1, "js_fun|參數(shù)字符串");
MessageBox.Show("js方法返回值是:" + returnvalue.ToString());
六、JS調(diào)用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>
轉(zhuǎn)載于:https://www.cnblogs.com/zyx_blog/articles/1993473.html
總結(jié)
以上是生活随笔為你收集整理的C# webBrowser与javascript互调的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: EXTjs grid与json数据 转载
- 下一篇: Linux Grep 命令说明