知识大全 vs2008 webbrowser与网页双向通信的方法

Posted 实时

篇首语:会挽雕弓如满月,西北望,射天狼。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 vs2008 webbrowser与网页双向通信的方法相关的知识,希望对你有一定的参考价值。

  现在很多软件都做成了内嵌浏览器的形式 vs 中的webbrwser控件即可以实现此功能 当然不能说 中的webbrowser是个新东西 他只不过将以前的msthml做了一次不完全封装 姑且不论其封装的如何 至少我们在使用它时不需要向以前一样频繁的调用令人讨厌的IHTMLDocument IHTMLDocument IHTMLDocument IHTMLDocument 而且新版的webbrowser是线程安全的!这点最重要

  以下代码片段均摘自我的一个项目

   下面看看webbrowser如何调用调用页面里的Javascript

  C#段

  代码

  void ShowTable(string sid)

  SetWebBorserSafe(webBrowser Showdisplay sid);

  

  public void SetWebBorserSafe(object o string s string tag)//保证线程安全

  

  if (o == webBrowser )

  

  if (this webBrowser InvokeRequired)

  

  BeginInvoke(new SetWebBroserCallback(SetWebBorserSafe) new object[] webBrowser s tag );

  

  else

  

  webBrowser Document InvokeScript(s new String[] tag);

  

  

  

  去掉干扰代码其实最关键的代码是

  webBrowser Document InvokeScript(s new String[] tag);

  JavaScript段

  function Showdisplay(id)

  if (document getElementById(id))

  var traget = document getElementById(id);

  traget style display = ;

  

  

  上面的代码实现了在C#程序中输入页面的ID号 页面中的对应ID的元素显示功能

  ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

   JavaScript调用C#程序

  反向调用有点小步骤

  a C#代码段让JavaScript能够看见接口

  [ComVisible(true)]   //接口可见

  public partial class FormPD : Form

  

  

  

  b C#代码段让寄宿的脚本能够访问

  private void FormPD_Load(object sender EventArgs e)

  

  webBrowser ObjectForScripting = this;

  

  当然你也可以把 webBrowser ObjectForScripting = this; 写在窗口初始化代码里

  c JavaScript和网页的相关代码

  代码

  <script type= text/javascript >

  function getSel()

  var t= ;

  t= window getSelection ? window getSelection() : (document getSelection ? document getSelection() : (document selection ? document selection createRange() Text : ))

  window external ShowPrint( 实时数据 t);

  

  </script>

  <body onmouseup= getSel() >

  关键代码   window external ShowPrint( 实时数据 t);

  d C#代码段

  代码

  public void ShowPrint(string fromname string selecttext)

  

  // 实时数据 t

  FormSavePrint f = new FormSavePrint( 实时数据 selecttext);

  f MdiParent = formmain;

  f Show();

  

  OK!上面可以实现当鼠标选中网页的某些区域时 此区域的页面代码被传入到C#程序的新窗口中

cha138/Article/program/net/201311/13461

相关参考

知识大全 Oracle推出开发工具支持.NET3.5与VS2008

Oracle推出开发工具支持.NET3.5与VS2008  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 安装vs2008出现的问题

  前一阵子装了vs除了一点问题主要是由于原来装的是vs先将卸载了然后安装vs结果安装的过程中出现了问题在安装Web创作组件的时候出错了显示的错误界面如下图所示      到网上找到了解决方案将安装光

知识大全 VS2008 SP1安装技巧

SQLServer2008:VS2008SP1安装技巧  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 VS2008中查看.NET源码的设置方法

VS2008中查看.NET源码的设置方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在Vis

知识大全 在vs2008环境C#对Excel基本操作

在vs2008环境C#对Excel基本操作  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  环境 

知识大全 关于VS 2008和.NET 3.5 Beta2新特性介绍[1]

关于VS2008和.NET3.5Beta2新特性介绍[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 关于VS 2008和.NET 3.5 Beta2新特性介绍[2]

关于VS2008和.NET3.5Beta2新特性介绍[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 VS2008 和.NET Framework3.5新功能及相关技术[2]

VS2008和.NETFramework3.5新功能及相关技术[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快

知识大全 VS2008 和.NET Framework3.5新功能及相关技术[1]

VS2008和.NETFramework3.5新功能及相关技术[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快

知识大全 c#二叉树遍历vs2008实现

  下面简单介绍一下几种算法和思路  先序遍历  访问根结点  按先序遍历左子树;  按先序遍历右子树;  例如遍历已知二叉树结果为A>B>D>G>H>C>E>