最近由于工作需要,研究了下Winform的WebBrowser控件,在这里给大家分享下。

1、WebBrowser导航

WebBrowser在进行导航的时候需要用到Navigate(string urlString)方法

2、执行已有的JavaScript函数

使用WebBrowser.Document.InovkeScript(string scriptName)

3、执行自定义的Javascript函数

这里需要先将自定义的Javascript写入到WebBrowser.Document.Body中,然后使用InvokScript()方法执行函数。

这里需要引用Microsoft.mshtml.dll

例子:

public static class WebBrowserHelper{/// <summary>/// 创建一个Javascript标签并附加到Document中 如<script type="text/javascript">function(){} </script>/// </summary>/// <param name="browser"></param>/// <param name="script"></param>/// <returns></returns>public static void CreateJSElement(WebBrowser browser, string script){var tag = browser.Document.CreateElement("script");var scriptElement = tag.DomElement as IHTMLScriptElement;scriptElement.type = "text/javascript";//设定为JavascriptscriptElement.text = script;//设置内容
browser.Document.Body.AppendChild(tag);}
}

View Code

这里我们用一个方法 将自定义的JS Append到Document中,调用刚刚的方法

public void RunJS(WebBrowser browser)
{string scriptStr="function sayHello(){ alert(\"Hello\");}";//我们要执行的自定义函数WebBrowserHelper.CreateJSElement(browser,scriptStr);//将这段函数附加到Document中
browser.Doucment.InvokeScript("sayHello");//执行sayHello()函数

}

View Code

4、获取并处理Javascript函数的返回值

InvokeScript(string scriptName)方法会返回一个Object类型的返回值

如果这个值的类型是Javascript中的 String、Number类型,可以直接调用Convert.ToString(),Convert.ToInt32() 进行转换并取值使用

如果这个值得类型是Javascript中的 Object、Array 类型,则返回一个System.__ComObject类型的对象,目前为止还没找到如何取值的办法,因此这里我选择提供一个自定义函数,将我们要的返回值序列化为JSON字符串再返回。

由于WebBrowser不支持HTML5标准,无法使用JSON.stringify()函数,这里我们需要引用其他序列化JS对象的插件。

这里推荐 Jquery-Json     在这里下载

使用方式很简单 $.toJSON(object);

总体上遇到并解决的问题就是这些了 具体的一些代码 可以  下载DEMO

转载地址:http://www.cnblogs.com/ShadowLoki/p/3408548.html

转载于:https://www.cnblogs.com/configman/p/5193456.html

WinForm中WebBrowser的使用相关推荐

  1. C#Winform中WebBrowser控件的特性和详细调用方法

    该博客系转发自http://www.ityoudao.com/Web/Csharp_590_1779.html,感觉此文章讲的不错,遂转发和大家分享.   WebBrowser控件简介 WebBrow ...

  2. webbrowser1 脚本报错_c# winform程序 webBrowser 当前页面的脚本发生异常 找不到成员...

    c# winform程序 webBrowser 当前页面的脚本发生错误 找不到成员 本帖最后由 yz2653410 于 2014-01-11 21:03:25 编辑 以下为页面代码 using Sys ...

  3. c#winform使用WebBrowser 大全

    C# WinForm WebBrowser (一) MSDN资料 1.主要用途:使用户可以在窗体中导航网页. 2.注意:WebBrowser 控件会占用大量资源.使用完该控件后一定要调用 Dispos ...

  4. WinForm中使用Excel控件

     最近项目中要在WinForm中使用Excel控件,经过几天的研究,现在总结一下成果. 在WinForm中使用Excel控件主要有三种方法:WebBrowser.DSOFramer.OWC.下面分别 ...

  5. c#winform使用WebBrowser 大全[超长文转载]

    1.主要用途:使用户可以在窗体中导航网页. 2.注意:WebBrowser 控件会占用大量资源.使用完该控件后一定要调用 Dispose 方法,以便确保及时释放所有资源.必须在附加事件的同一线程上调用 ...

  6. Winform可读取html语言,C# Winform 用WebBrowser实现 Html 编辑功能

    介绍一款Winform中使用的html editor (Html编辑控件),不过这不是一款新控件,它就是.Net平台开发人员所熟知的WebBrowser控件-_-.WebBrowser也可以实现Htm ...

  7. C#中WebBrowser控件的使用

    今天在YouTube上看了一个关于WebBrowser控件用法的小视频,做一下总结. 首先创建一个WinForm程序,拖入一个textbox控件和一个button按钮,然后拖入一个panel控件,如图 ...

  8. VB.NET在WinForm中嵌入谷歌浏览器_制作全屏显示网页程序_并读取INI配置文件_根据配置文件显示不同的网页---VB.NET工作笔记016

    我们做了个项目,科技馆的,需要把绚丽的网页,全屏放到浏览器上显示,但是....他们做的这个网页...我去,只支持谷歌这样的浏览器,在IE这样的浏览器模式下,显示有问题... 不知道是不是因为,没有使用 ...

  9. c#窗体应用程序链接本地html网页,C#实现Winform中打开网页页面的方法

    本文实例讲述了C#实现Winform中打开网页页面的方法.分享给大家供大家参考.具体实现方法如下: 1.首先比较简单的我们知道有类似的方法如下 System.Diagnostics.Process.S ...

最新文章

  1. 使用GitHub免费搭建属于自己的网站
  2. 在as3中只有事件(或该事件的子级)的发送者才能侦听事件
  3. 你的密码已泄露!使用C#阻止弱密码
  4. centos7 kafka2.3.1单机伪集群部署
  5. 安卓案例:初试谷歌图表
  6. 《Reids 设计与实现》第四章 整数集合和压缩列表
  7. jQuery选择器遇上一些特殊字符
  8. SQL Server内存架构基础
  9. 深度学习2.0-18.随机梯度下降之手写数字问题实战(层)
  10. crm2013js弹出窗口
  11. 中间件的大舞台:高考网上阅卷系统揭秘
  12. 2020年苏大计算机考研872真题及解析
  13. win10添加惠普hp laserjet 1010HB打印机
  14. 弘辽科技:抖加投放后会增粉吗?有什么技巧?
  15. ECharts+Vue实现数据可视化
  16. Markdown个人学习记录
  17. ROS学习笔记之小乌龟跟随
  18. java基础编程题及答案,三面蚂蚁金服(交叉面)定级阿里P6
  19. Application context和Activity context的区别
  20. Python 机器学习大作业 用knn算法对adult数据集进行50w年薪收入预测

热门文章

  1. Python解决使用列表副本问题
  2. confer安装与连接度的计算
  3. oracle清除bin,Oracle recyclebin详解(闪回删除的表)
  4. android企业手机安全软件开发,基于Android的手机安全管理软件的设计与实现毕业论文.doc...
  5. Docker-compose 常用命令
  6. Java事件侦听器函数_SWT 计算器 按钮事件监听 获取按钮text值
  7. 在mysql中 11div4_雷林鹏分享:MySQL 运算符
  8. Turtlebot2 环境配置
  9. TypeScript完全解读(26课时)_14.ES6和Nodejs中的模块
  10. 动手动脑java异常处理