c# webBrowser控件与js的交互
来源:互联网 发布:张震长相知乎 编辑:程序博客网 时间:2024/05/14 14:05
知识:
- [System.Runtime.InteropServices.ComVisibleAttribute(true)]
- 这是为了将该类设置为com可访问
- Url属性:WebBrowser控件显示的网页路径
- ObjectForScripting属性:该对象可由显示在WebBrowser控件中的网页所包含的脚本代码访问
- JavaScript通过window.external调用C#公开的方法。即由ObjectForScripting属性设置的类的实例中所包含的公共方法。
- // WebBrowser控件显示的网页路径
- webBrowser1.Navigate(new Uri(System.Environment.CurrentDirectory + @"/XXX.html", UriKind.RelativeOrAbsolute));
- // 将当前类设置为可由脚本访问
- webBrowser1.ObjectForScripting = this;
.CS
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Data;
- using System.Windows.Documents;
- using System.Windows.Input;
- using System.Windows.Media;
- using System.Windows.Media.Imaging;
- using System.Windows.Navigation;
- using System.Windows.Shapes;
- using System.Web;
- using System.Security.Permissions;
- namespace WpfApplication1
- {
- /// <summary>
- /// Interaction logic for Window1.xaml
- /// </summary>
- public partialclass Window1 : Window
- {
- public Window1()
- {
- InitializeComponent();
- Basic ds = new Basic ();
- webBrowser1.Navigate(new Uri(System.Environment.CurrentDirectory + @"/aaa.html", UriKind.RelativeOrAbsolute));//获取根目录的日历文件
- webBrowser1.ObjectForScripting = ds;//该对象可由显示在WebBrowser控件中的网页所包含的脚本代码访问
- }
- privatevoid Button_Click(object sender, RoutedEventArgs e)
- {
- textBox1.Text = DoSomething.name;
- }
- }
- [System.Runtime.InteropServices.ComVisibleAttribute(true)]//将该类设置为com可访问
- publicclass Basic
- {
- publicstaticstring name;
- publicstring Name
- {
- get {return name; }
- set { name = value; }
- }
- publicvoid ClickEvent(string str)
- {
- this.Name = str;
- }
- }
- }
HTML
- <HTML>
- <head>
- <mce:script language="JavaScript" type="text/javascript"><!--
- function Selec()
- {
- var divV=document.getElementById('div2').innerText;
- window.external.ClickEvent(divV);
- }
- // --></mce:script>
- </head>
- <Body>
- <Form>
- <div id="div1" onClick="Selec();">000000000000</div>
- <div id="div2">111111</div>
- </Form>
- </Body>
- </HTML>
如果需要在运行时点击按钮后再将值传入页面显示,则用下列方法传值
this.webBrowser1.InvokeScript("js中的函数",“要传的值”);
- c# webBrowser控件与js的交互
- WPF中webBrowser控件与js的交互
- C#通过webbrowser控件与javascript交互
- C#通过webbrowser控件与javascript交互
- Winform控件WebBrowser与JS脚本交互
- Winform控件WebBrowser与JS脚本交互
- Winform控件WebBrowser与JS脚本交互
- WebBrowser控件中JS与原生交互
- C#中webbrowser与javascript(js)交互的方法
- [Winform]js与webbrowser交互
- .Net中webBrowser控件JS交互
- .NET中WebBrowser控件内部页面的JS代码与外部C#代码的相互调用
- NET中WebBrowser控件内部页面的JS代码与外部C#代码的相互调用
- webbrowser里的js与程序交互问题
- C#和JS交互 WebBrowser实例
- webbrowser 控件实现WinForm与WebForm交互
- C# WebBrowser页面与WinForm交互技巧
- C# WebBrowser 控件的使用
- dom4j 节选
- 沟通之难
- JDK动态代理
- Android Widget开发浅谈
- 《C++第九周实验报告1-1》--------接第8周任务1,定义Complex类中的<<和>>运算符的重载,实现输入和输出
- c# webBrowser控件与js的交互
- 每天一道面试题,为今年找工作早做准备!笨鸟先飞,哈哈(2012年4月篇)
- 《C++第九周实验报告2-1》---接第8周任务2,定义Time类中的<<和>>运算符重载,实现时间的输入输出
- TryInterface
- Ternary Search Trees 三分搜索树-源码
- 《C++第九周实验报告3-1》----接第8周任务3,定义分数类中<<和>>运算符重载,实现分数的输入输出
- SQL Server 数据库设计、命名、编码规范
- 含按钮的ListView
- session