使 WebBrowser 更简单的新加和执行 js, 可安装 jQuery 脚本的 C# 开源代码 - IEBrowse...
2012-05-25 12:08
756 查看
名人名言:每个人在他生活中都经历过不幸和痛苦。有些人在苦难中只想到自己,他就悲观消极发出绝望的哀号;有些人在苦难中还想到别人,想到集体,想到祖先和子孙,想到祖国和全人类,他就得到乐观和自信。——洗星海
Visual Studio 中提供了浏览器控件 WebBrowser, 可以用在 WinForm 中充当一个小型的浏览器.
WebBrowser 本身提供了调用页面中 js 函数的方法, 但没有直接提供可以添加执行新的 js 脚本的功能. 如果有如下的 js 函数:
<script type="text/javascript"> function add(num1, num2) { return num1 + num2; } </script>
则, 通过如下代码即可调用 add 函数:
// browser 为窗口上的 WebBrowser 控件. this.browser.Document.InvokeScript ( "add", newobject[] { 1, 2 } );
IEBrowser 提供在 WebBrowser 的页面中添加执行新 js 脚本的功能.
IEBrowser 是开源共享的 C# 代码, 示例参考: http://code.google.com/p/zsharedcode/wiki/IEBrowserDoc , 下载使用: http://code.google.com/p/zsharedcode/wiki/Download .
下面的例子是增加并调用新的 js 函数 showMessage:
// 从当前的 WebBrowser 控件创建 IEBrowser 对象, WebBrowser 的 Url 属性已经设置为 "about:blank". IEBrowser ie =new IEBrowser ( this.webBrowser ); // 定义 javascript 脚本, 声明一个 showMessage 函数. string showMessageScript ="function showMessage(message){alert("消息:" + message);}"; // 将脚本安装到 WebBrowser 中. ie.InstallScript ( showMessageScript ); // 执行脚本, 调用 showMessage 函数. ie.ExecuteScript ( "showMessage("哈哈!");" );
使用 IEBrowser 的 InstallScript 方法即可完成添加 js 脚本的功能, 而 ExecuteScript 则可以执行 js 脚本. InstallScript 除了可以直接传递包含脚本的字符串外, 也可以是脚本的地址.
你还可以为 WebBrowser 安装 jQuery, 并执行一系列的 jQuery 脚本.
IEBrowser 提供了一个 JQuery 类, 简化了 jQuery 脚本的书写.
下面的示例, 演示了在 Google 页面安装 jQuery, 并使用 jQuery 获取页面上所有的链接.
// 从当前的 WebBrowser 控件创建 IEBrowser 对象. IEBrowser ie =new IEBrowser ( this.webBrowser ); // 导航到页面 http://www.google.com.hk/. ie.Navigate ( "http://www.google.com.hk/" ); // 等待页面载入完毕. ie.IEFlow.Wait ( new UrlCondition ( "wait", "http://www.google.com.hk", StringCompareMode.StartWith ) ); // 安装跟踪脚本, 执行 jquery 必需. ie.InstallTrace ( ); // 安装本地的 jquery 脚本. ie.InstallJQuery ( new Uri ( Path.Combine ( AppDomain.CurrentDomain.BaseDirectory, @"jquery-1.5.min.js" ) ) ); // 执行 jquery 脚本 $("*").length, 获得页面上总元素个数. Console.WriteLine ( "页面上共有 {0} 个元素", ie.ExecuteJQuery ( JQuery.Create ( ""*"" ).Length ( ) ) ); // 执行 jquery 脚本 $("a"), 获得页面上所有的 a 元素并将结果保存在 __jAs 变量中. ie.ExecuteJQuery ( JQuery.Create ( ""a"" ), "__jAs" ); // 得到 __jAs 变量中包含的 a 元素的个数. int count = ie.ExecuteJQuery<int> ( JQuery.Create ( "__jAs" ).Length ( ) ); for ( int index =0; index < count; index++ ) { // 得到 __jAs 变量中索引为 index 的 a 元素, 并保存在 __jA 变量中. ie.ExecuteJQuery ( JQuery.Create ( "__jAs" ).Eq ( index.ToString ( ) ), "__jA" ); // 输出 a 元素的 innerText 和 href 属性. Console.WriteLine ( string.Format ( "a[{0}], "{1}", "{2}"", index, ie.ExecuteJQuery<string> ( JQuery.Create ( "__jA" ).Text ( ) ), ie.ExecuteJQuery<string> ( JQuery.Create ( "__jA" ).Attr ( ""href"" ) ) ) ); }
调用 IEBrowser 的 InstallTrace 和 InstallJQuery 即可安装 jQuery 脚本, 脚本的位置可以在本地或者网络. 之后, 可以配合 ExecuteJQuery 方法和 JQuery 类在页面上完成各种 jQuery 操作. JQuery 类参照 jQuery 的 js 脚本命名, 很容易掌握.
注意: 如果出现 jQuery 脚本编码格式导致的出错, 可以将 jQuery 脚本作为资源导入项目, 然后使用 InstallScript 方法安装即可.
除了以上功能, IEBrowser 还可以复制图片, 使 js 调用托管代码, 以及记录用户操作和完成复杂的流程控制等, 之后文章会说明.
Visual Studio 中提供了浏览器控件 WebBrowser, 可以用在 WinForm 中充当一个小型的浏览器.
WebBrowser 本身提供了调用页面中 js 函数的方法, 但没有直接提供可以添加执行新的 js 脚本的功能. 如果有如下的 js 函数:
<script type="text/javascript"> function add(num1, num2) { return num1 + num2; } </script>
则, 通过如下代码即可调用 add 函数:
// browser 为窗口上的 WebBrowser 控件. this.browser.Document.InvokeScript ( "add", newobject[] { 1, 2 } );
IEBrowser 提供在 WebBrowser 的页面中添加执行新 js 脚本的功能.
IEBrowser 是开源共享的 C# 代码, 示例参考: http://code.google.com/p/zsharedcode/wiki/IEBrowserDoc , 下载使用: http://code.google.com/p/zsharedcode/wiki/Download .
下面的例子是增加并调用新的 js 函数 showMessage:
// 从当前的 WebBrowser 控件创建 IEBrowser 对象, WebBrowser 的 Url 属性已经设置为 "about:blank". IEBrowser ie =new IEBrowser ( this.webBrowser ); // 定义 javascript 脚本, 声明一个 showMessage 函数. string showMessageScript ="function showMessage(message){alert("消息:" + message);}"; // 将脚本安装到 WebBrowser 中. ie.InstallScript ( showMessageScript ); // 执行脚本, 调用 showMessage 函数. ie.ExecuteScript ( "showMessage("哈哈!");" );
使用 IEBrowser 的 InstallScript 方法即可完成添加 js 脚本的功能, 而 ExecuteScript 则可以执行 js 脚本. InstallScript 除了可以直接传递包含脚本的字符串外, 也可以是脚本的地址.
你还可以为 WebBrowser 安装 jQuery, 并执行一系列的 jQuery 脚本.
IEBrowser 提供了一个 JQuery 类, 简化了 jQuery 脚本的书写.
下面的示例, 演示了在 Google 页面安装 jQuery, 并使用 jQuery 获取页面上所有的链接.
// 从当前的 WebBrowser 控件创建 IEBrowser 对象. IEBrowser ie =new IEBrowser ( this.webBrowser ); // 导航到页面 http://www.google.com.hk/. ie.Navigate ( "http://www.google.com.hk/" ); // 等待页面载入完毕. ie.IEFlow.Wait ( new UrlCondition ( "wait", "http://www.google.com.hk", StringCompareMode.StartWith ) ); // 安装跟踪脚本, 执行 jquery 必需. ie.InstallTrace ( ); // 安装本地的 jquery 脚本. ie.InstallJQuery ( new Uri ( Path.Combine ( AppDomain.CurrentDomain.BaseDirectory, @"jquery-1.5.min.js" ) ) ); // 执行 jquery 脚本 $("*").length, 获得页面上总元素个数. Console.WriteLine ( "页面上共有 {0} 个元素", ie.ExecuteJQuery ( JQuery.Create ( ""*"" ).Length ( ) ) ); // 执行 jquery 脚本 $("a"), 获得页面上所有的 a 元素并将结果保存在 __jAs 变量中. ie.ExecuteJQuery ( JQuery.Create ( ""a"" ), "__jAs" ); // 得到 __jAs 变量中包含的 a 元素的个数. int count = ie.ExecuteJQuery<int> ( JQuery.Create ( "__jAs" ).Length ( ) ); for ( int index =0; index < count; index++ ) { // 得到 __jAs 变量中索引为 index 的 a 元素, 并保存在 __jA 变量中. ie.ExecuteJQuery ( JQuery.Create ( "__jAs" ).Eq ( index.ToString ( ) ), "__jA" ); // 输出 a 元素的 innerText 和 href 属性. Console.WriteLine ( string.Format ( "a[{0}], "{1}", "{2}"", index, ie.ExecuteJQuery<string> ( JQuery.Create ( "__jA" ).Text ( ) ), ie.ExecuteJQuery<string> ( JQuery.Create ( "__jA" ).Attr ( ""href"" ) ) ) ); }
调用 IEBrowser 的 InstallTrace 和 InstallJQuery 即可安装 jQuery 脚本, 脚本的位置可以在本地或者网络. 之后, 可以配合 ExecuteJQuery 方法和 JQuery 类在页面上完成各种 jQuery 操作. JQuery 类参照 jQuery 的 js 脚本命名, 很容易掌握.
注意: 如果出现 jQuery 脚本编码格式导致的出错, 可以将 jQuery 脚本作为资源导入项目, 然后使用 InstallScript 方法安装即可.
除了以上功能, IEBrowser 还可以复制图片, 使 js 调用托管代码, 以及记录用户操作和完成复杂的流程控制等, 之后文章会说明.
相关文章推荐
- 使 WebBrowser 更简单的新加和执行 js, 可安装 jQuery 脚本的 C# 开源代码 - IEBrowse...
- 使 WebBrowser 更简单的新加和执行 js, 可安装 jQuery 脚本的 C# 开源代码 - IEBrowser [1]
- 使 WebBrowser 更简单的插入、调用执行脚本, 可安装 jQuery 脚本的 C# 开源代码 - IEBrowser
- 使 WebBrowser 更简单的插入、调用执行脚本, 可安装 jQuery 脚本的 C# 开源代码 - IEBrowser
- 黄聪:WebBrowser执行和安装jQuery脚本(IEBrowse)
- 在C# WebBrowser控件插入JS代码并执行,可以修改js就能对html执行任意操作
- VS C# .NET WebBrowser控件 利用插入JS代码,实现控制弹出IE窗口
- c# 后台代码注册 js 脚本并执行
- 一个简单的动态加载js和css的jquery代码
- js replace 全局替换 以表单的方式提交参数 判断是否为ie浏览器 将jquery.qqFace.js表情转换成微信的字符码 手机端省市区联动 新字体引用本地运行可以获得,放到服务器上报404 C#提取html中的汉字 MVC几种找不到资源的解决方式 使用Windows服务定时去执行一个方法的三种方式
- 利用JQUERY的回调函数,通过asp中的代码在客户端执行js。
- js代码,执行简单的按钮翻转
- 利用.net(C#)执行sql脚本的简单实现
- 用一行简单的代码就能加速IE运行脚本的速度
- VBS脚本打开ie,执行asp页面代码
- 让服务器控件执行js与C#两种代码(asp.net)
- 用WebBrowser承载视图,html编写页面,c#编写后端代码;用js调用后端代码,传入function参数作为回调;
- 史上最全的CSS hack方式一览 jQuery 图片轮播的代码分离 JQuery中的动画 C#中Trim()、TrimStart()、TrimEnd()的用法 marquee 标签的使用详情 js鼠标事件 js添加遮罩层 页面上通过地址栏传值时出现乱码的两种解决方法 ref和out的区别在c#中 总结
- webBrowser执行js的方法,并返回值,c#后台取值
- c#和java中执行sql文件脚本的代码(非常有用)