知识大全 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)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下
前一阵子装了vs除了一点问题主要是由于原来装的是vs先将卸载了然后安装vs结果安装的过程中出现了问题在安装Web创作组件的时候出错了显示的错误界面如下图所示 到网上找到了解决方案将安装光
SQLServer2008:VS2008SP1安装技巧 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
VS2008中查看.NET源码的设置方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在Vis
在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)小编为大家搜集整理后发布的内容,让我们赶快
下面简单介绍一下几种算法和思路 先序遍历 访问根结点 按先序遍历左子树; 按先序遍历右子树; 例如遍历已知二叉树结果为A>B>D>G>H>C>E>