使用webBrowser进行C#和JS通讯
、前台调用后台: 在webBrowser使用过程中为了C#和js通讯,webBrowser必须设置ObjectForScripting的属性,它是一个object,这个object可以提供给webBrowser控件载入的网页上的script访问。 在设置过webBrowser控件的ObjectForScripting属性后,还需要设置应用程序对com可见,不然会抛出一个异常 (ObjectForScripting 的类必须对 COM 可见。请确认该对象是公共的,或考虑向您的类添加 ComVisible 属性),可做如下设置:[System.Runtime.InteropServices.ComVisible(true)] 例如: [ComVisible(true)]
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} protected override void OnLoad(EventArgs e)
{
webBrowser1.ObjectForScripting = this;
webBrowser1.Navigate(http://www.cnblogs.com/winzheng);
base.OnLoad(e);
}
public void Test()
{
MessageBox.show("That's OK");
}
}
然后就可以使用windows.external.Test();调用后台的公共方法了。 、后台调用前台: 如果要和JS通讯,使用webBrowser的Document对象的InvokeScript方法即可。 该方法签名如下:InvokeScript(String spriteName,object[] args); 例如:<script type="text/JavaScript"> function test(n,s)
{
alert(n+"/"+s);
}
</script>
调用:webBrowser1.Document.InvokeScript("test", new Object[] {,"hello"});
使用webBrowser进行C#和JS通讯的更多相关文章
- VB.NET让webbrowser控件中JS脚本错误最新方法(2013-09-16)
最近也是在项目中遇到了webbrowser控件中想关闭JS脚本错误窗口的问题,所以经过多次测试,终于用一段高效实用的代码完美解决webbrowser控件中JS脚本错误窗口关闭的问题. 通过创建一个子线 ...
- c# webBrowser控件与js的交互
转自:http://blog.csdn.net/sd2131512/article/details/7467564 [System.Runtime.InteropServices.ComVisible ...
- 在WebBrowser控件使用js调用C#方法
有时我们需要在WebBrowser控件中嵌入了网页,然后通过html页面调用后台方法,如何实现呢?其实很简单,主要有三步: 在被调用方法所属的类上加上[ComVisible(true)]标签,意思就是 ...
- c#: WebBrowser控件注入js代码的三种方案
聊做备忘. 假设js代码为: string jsCode = @"function showAlert(s) {{ alert('hello, world! ' + s);}}; showA ...
- winform中使用webBrowser时如何与JS交互
最近写一个GEPlugin项目,要用到geWebBrowser与JS进行交互. 这个geWebBrowser的事件 private void geWebBrowser1_DocumentComplet ...
- vue.js通讯----父亲拿儿子的数据
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- C# webBrowser(wpf/winform) 互调js
1.winform [PermissionSet(SecurityAction.Demand, Name = "FullTrust")] [ComVisible(true)] pu ...
- 黄聪:VS2010中如何让webbrowser不弹出JS异常错误窗口(c#.net)
1.在属性窗口找到ScriptErrorsSuppressed,选择"true",这个选择的意思是,如果网页上有出现错误命令,这个错误提示将被抑制 2.[项目管理那里,在项目上右击 ...
- C#和JS交互 WebBrowser实例
本文实现了WebBrowser的简单例子 1.引用System.Windows.Froms.dll 2.引用WindowsFormsIntegration.dll 代码如下: public parti ...
随机推荐
- iOS 在Host App 与 App Extension 之间发送通知
如何从你的一个App发送通知给另一个App? (例:搜狗输入法下载皮肤完成后使用皮肤) 注:搜狗输入法是App.而键盘是Extension 当你为你的App 添加 App Extension时,如果想 ...
- C++之不带指针类的设计——Boolean
经典的类设计分类 带指针类 不带指针类 Header文件的布局 #ifndef __COMPLEX__ #define __COMPLEX__ #include <iostream.h> ...
- Jcrontab定时任务
两篇博客: http://blog.csdn.net/jijijiujiu123/article/details/9086847 网站同事写的(chenrui) ...
- Informatica学习笔记
Informatica学习笔记1:UPDATE AS INSERT 问:要求实现每天抽取数据,而且是如果有改变才抽取更新,没有就不更新,因为源表中有最后修改时间的字段,我让它 和SESSION上次运行 ...
- Azure镜像市场再下一城,中标软件入驻开启Azure国产操作系统时代
近日,中标软件成功入驻 Azure 镜像市场,提供中标麒麟 Linux 的产品镜像服务,这样一来,中标麒麟也成为国内唯一能够在 Azure 公有云上运行的国产操作系统产品. 作为国内操作系统的领头羊, ...
- check_mk通用应用检测插件
客户端mk_tvmapp import json filename = '/tmp/tvmapp.json' print '<<<tvmapp>>>' for a ...
- spring对数据库的操作、spring中事务管理的介绍与操作
jdbcTemplate的入门 创建maven工程 此处省略 导入依赖 <!-- https://mvnrepository.com/artifact/org.springframework/s ...
- tensorflow报错 tensorflow Resource exhausted: OOM when allocating tensor with shape
在使用tensorflow的object detection时,出现以下报错 tensorflow Resource exhausted: OOM when allocating tensor wit ...
- python功能
1.前端使用ajax 项目名字/views.py from django.shortcuts import render from django.http import JsonResponse fr ...
- OC category(分类)
// ()代表着是一个分类 // ()中的Test代表着分类的名称 @interface Student (Test) // 分类只能扩展方法,不能增加成员变量 - (void)test2; @end