1.C#里调用控件里面网页的js函数
//调用JavaScript的messageBox方法,并传入参数
object[] objects = new object[1];
objects[0] = “C#访问JavaScript脚本";
this.webBrowser1.Document.InvokeScript(“messageBox", objects);//object就是传入的参数,而messageBox则是网页中预定义好的js函数。
通过这种方式C#里面就可以执行Javascript函数,可以把上面的代码放到一个button的click事件里面。
2.webbrowser控件里网页js调用C#窗体的函数
首先需要在代码里面加上
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
public partial class Form1 : Form{
…..//
}
这样使得C#的com对象是对网页里的javascript可见的。
然后在嵌入网页里面通过“window.external.MyMessageBox(‘javascript访问C#代码’)" ,即通过window.external捕获调用c#定义好的函数。
具体Form.cs代码如下(通过vs创建的c#window窗体应用,拖拽上一个webbrowser控件和button控件。):
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
System.IO.FileInfo file = new System.IO.FileInfo("test.html");
this.webBrowser1.Url = new Uri(file.FullName); // WebBrowser控件显示的网页路径
this.webBrowser1.ObjectForScripting =this;// 将当前类设置为可由脚本访问
}
//提供给JavaScript调用的方法
public void MyMessageBox(string message)
{
MessageBox.Show(message);
}
private void button1_Click_1(object sender, EventArgs e)
{
//调用JavaScript的messageBox方法,并传入参数
object[] objects = new object[1];
objects[0] = “C#访问JavaScript脚本";
this.webBrowser1.Document.InvokeScript("messageBox", objects);
}
}
test.html内容比较简单:
<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
<script language="javascript" type="text/javascript">
<!– 提供给C#程序调用的方法 –>
function messageBox(message)
{
alert(message);
}
</script>
</head>
<body>
<!– 调用C#方法 –>
<button onclick="window.external.MyMessageBox('javascript访问C#代码')" >javascript访问C#代码</button>
</body>
</html>
配置运行成功的话,可以看到相互调用的效果
分享到:
相关推荐
MFC的WebBrowser控件 C++与JavaScript之间数据交互传递
1,在项目中引用程序集拓展中的Microsoft.mshtml后,可以在公共控件中找到WebBrowser控件。 2,在窗体中加入三个按钮,然后添加WebBrowser控件,右键控件选属性,设置相应的属性。 3,设置WebBrowser控件的属性 ...
WebBrowser控件使用详解,WebBrowser控件使用详解
输入一个网址,通过WPF使用WebBrowser控件定时访问刷新网页
C#-WebBrowser页面与WinForm交互技巧C#-WebBrowser页面与WinForm交互技巧C#-WebBrowser页面与WinForm交互技巧
C# 从内存中获取webbrowser控件截图,可以后台或者隐藏窗体截图 C# 从内存中获取webbrowser控件截图,可以后台或者隐藏窗体截图
在开发C#项目时用到的WebBrowser,文档中汇总了该控件的属性和方法实现。包含代码实现。属性方法不足的地方希望大家补充。
C#WebBrowser页面与Winform交互技巧
源码是个MFC程序,加载了一个WebBrowser控件,并实现了C++与JavaScript之间数据交互传递。分成两个模块,分别展示数据传递的两个方向。
开发工具Visual Studio 2012 winform控件webbrowser控件 内嵌火狐内核内核 已经明确引用于给出实例 方便各位使用 分为mini版本与复杂版本
Demo中描述了如何让 WPF 窗体中的 WebBrowser 打开指定页面,并且页面中通过脚本调用托管的代码,也就是调用C#的方法。
WebKit.net是对WebKit的.Net封装,使用它.net程序可以非常方便的集成和使用webkit作为加载网页的容器 Winform中引入dll后可以new一个Webkit对象加入到Winform中
C#:webbrowser控件设置代理IP访问网站
C#判断webbrowser页面最终加载完成
一个基于WebBrowser控件的浏览器。输入网址可浏览网页,有菜单栏,状态栏等功能。有数据库保存历史记录与用户收藏的网站标签。可对历史纪录和收藏网站的数据进行管理。
通过C#网络编程的webBrowser获取网页中的url并简单的尝试下载网页中的图片,主要是为以后网络开发的基础学习.其中主要的通过应用程序结合网页知识、正则表达式实现浏览、获取url、下载图片三个功能.而且很清晰的解析...
WebBrowser控件技巧集
C# 扩展的比较完整的WebBrowser控件
主要介绍了C#基于WebBrowser获取cookie的实现方法,实例分析了C#基于WebBrowser简单读取浏览谷歌网站cookie的相关技巧,非常简单实用,需要的朋友可以参考下
WebBrowser 控件在 Visual C# 2005 或 Visual C# .NET 中打开 Office