C# winform与Javascript的相互调用
作者:网络转载 发布时间:[ 2016/3/9 11:00:51 ] 推荐标签:测试开发技术 .NET
1 <html>
2
3 <head>
4
5 <meta http-equiv="Content-Language" content="zh-cn">
6
7 <script language="javascript" type="text/javascript">
8
9 <!-- 提供给C#程序调用的方法 -->
10
11 function messageBox(message)
12
13 {
14
15 alert(message);
16
17 }
18
19 </script>
20
21 </head>
22
23 <body>
24
25 <!-- 调用C#方法 -->
26
27 <button onclick="window.external.MyMessageBox('javascript访问C#代码')">
28
29 javascript访问C#代码</button>
30
31 </body>
32
33 </html><html>
34
35 <head>
36
37 <meta http-equiv="Content-Language" content="zh-cn">
38
39 <script language="javascript" type="text/javascript">
40
41 <!-- 提供给C#程序调用的方法 -->
42
43 function messageBox(message)
44
45 {
46
47 alert(message);
48
49 }
50
51 </script>
52
53 </head>
54
55 <body>
56
57 <!-- 调用C#方法 -->
58
59 <button onclick="window.external.MyMessageBox('javascript访问C#代码')">
60
61 javascript访问C#代码</button>
62
63 </body>
64
65 </html>
二、建立Windows应用程序
1.创建Windows应用程序项目
2.在Form1窗体中添加WebBrowser控件
3.在Form1类的上方添加
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
这是为了将该类设置为com可访问。如果不进行该声明将会出错。
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
public partial class Form1 : Form
Url属性:WebBrowser控件显示的网页路径
ObjectForScripting属性:该对象可由显示在WebBrowser控件中的网页所包含的脚本代码访问。
将Url属性设置为需要进行操作的页的URL路径。
JavaScript通过window.external调用C#公开的方法。即由ObjectForScripting属性设置的类的实例中所包含的公共方法。具体设置例子如下:
System.IO.FileInfo file = new System.IO.FileInfo("index.htm");
// WebBrowser控件显示的网页路径
webBrowser1.Url = new Uri(file.FullName);
// 将当前类设置为可由脚本访问
webBrowser1.ObjectForScripting = this;
4.C#调用JavaScript方法
通过WebBrowser类的Document属性中的InvokeScript方法调用当前网页的Javascript方法。如:
// 调用JavaScript的messageBox方法,并传入参数
object[] objects = new object[1];
objects[0] = "C#访问JavaScript脚本";
webBrowser1.Document.InvokeScript("messageBox", objects);
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11