C#中webbrowser与javascript(js)交互的方法

今天在做一个项目的时候需要用c#搞一个webbrowser,然后有些地方还需要与js交互。所以就查了一下资料,发现很多博客提到了但是却没有说下具体的操作。所以我就写一下.

开发环境是Visual Studio 2008 .阅读此文需要有C#和javascript开发基础。

1.首先新建一个项目,在默认窗体form1上拖拽一个webbrowser1.

2.给form1的Load时间事件添加如下代码:

private void Form1_Load(object sender, EventArgs e)
{
     webBrowser1.ObjectForScripting = this;
}

3.打开解决方案资源管理器,在项目上单击鼠标右键,选择属性打开项目属性设置。

4.在应用程序选项卡中点击程序集信息,然后勾选“使程序集COM可见”。

做完这些基本的设置之后就可以让webbrowser和js交互了,交互方法如下:

C#调用js函数的方法:

首先在js中定义被c#调用的方法:
function  Messageaa(message)
{
      alert(message);
}
在c#调用js方法Messageaa
private void button1_Click(object sender, EventArgs e)
{
    // 调用JavaScript的messageBox方法,并传入参数
    object[] objects = new object[1];
    objects[0] = "c#diao javascript";
    webBrowser1.Document.InvokeScript("Messageaa", objects);
}

用JS调用C#函数的方法:

首先在c#中定义被js调用的方法:
public void MyMessageBox(string message)
{
    MessageBox.Show(message);
}

在js中调用c#方法:
<!-- 调用C#方法 -->
<button onclick="window.external.MyMessageBox(‘javascript访问C#代码‘)" >
javascript访问C#代码</button>
时间: 2024-11-07 20:16:32

C#中webbrowser与javascript(js)交互的方法的相关文章

C#的WEBBROWSER与JS交互的方法(转载)

原地址:http://www.jb51.net/article/57574.htm 本文实例总结了C#的WEBBROWSER与JS交互的方法.分享给大家供大家参考.具体实现方法如下: 一.实现WebBrowser内部跳转,阻止默认打开IE 1.引用封装好的WebBrowserLinkSelf.dll实现 复制代码代码如下: public partial class MainWindow : Window{       private WebBrowser webBrowser = new Web

Android中使用WebView与JS交互全解析

1.概述首先,需要提出一个概念,那就是hybrid,主要意思就是native原生Android和h5混合开发.为什么要这样做呢?大家可以想象一下针对于同一个活动,如果使用纯native的开发方式,Android和iOS两边都要维护同一套界面甚至是逻辑,这样开发和维护的成本会很大,而使用hybrid的开发方式的话,让前端的同学去写一套界面和逻辑,对于native端来说只要使用对应的容器去展示就可以了(对于Android来说这个容器当然就是WebView).那为什么不所有的页面都使用这种方式开发呢?

Android中Java与JavaScript之间交互(转)

Android代码: package com.fyfeng.testjavascript; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.util.Log; import android.webkit.WebView; import androi

javascript; JS版HtmlEncode方法,结果与C#中HttpUtility.HtmlEncode方法一样。

<script type="text/javascript"> function HTMLEncode(html) { var temp = document.createElement ("div"); (temp.textContent != null) ? (temp.textContent = html) : (temp.innerText = html); var output = temp.innerHTML; temp = null; re

android 与js交互

android与js交互 // 设置编码 webView.getSettings().setDefaultTextEncodingName("utf-8"); // 支持js webView.getSettings().setJavaScriptEnabled(true); //参数1为传递的android对象,参数2为传递对象的变量名称之后JS中使用变量名进行对对象的操作 webView.addJavascriptInterface(new TestJs(), "testO

iOS JS 交互之利用系统JSContext实现 JS调用oc方法

ios js 交互分为两块: 1.oc调用js 这一块实现起来比较简单, 我的项目中加载的是本地的html,js,css,需要注意的是当你向工程中拖入这些文件时,选择如下操作,(拖入的文件夹是蓝色的,相对路径),不然css,js 的路径会存在问题 加载本地html: oc调用js:一句代码搞定 2.js 调用oc js调用oc又分为两种: 1.js端是直接调用方法 这里就要说到ios7才推出的一个新的api    JavaScriptCore,首先我们引入这个类,并初始化一个JSContext对

iOS UIWebView与JS(JavaScript)交互-----根据节点隐藏HTML中内容

在移动端(这里指iOS)开发中,我们免不了使用UIWebView与JS交互. 先简单了解一下JS,JavaScript是一种直译式的脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.广泛用于客户端,主要用来向HTML页面添加交互行为.它可以直接嵌入HTML页面,但写成单独的JS文件有利于结构和行为的分离.JS具有跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows.Linux.Mac.Andriod.iOS等).作为直译语言,它的弱点:安全性. -- 摘自

WinForm程序执行JS代码的多种方法以及使用WebBrowser与JS交互

原文地址:http://www.cnblogs.com/feiyuhuo/p/5474790.html 方法一 使用微软官方组件Interop.MSScriptControl 1.msscript.ocx下载的地址   http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=D05FCF37-4D9F-4769-9442-0BCEEF907033 或者点击此处下载 Interop.MSScriptCon

【iOS开发】UIWebView与JavaScript(JS) 回调交互

引用:http://blog.sina.com.cn/s/blog_693de6100102vi3w.html 很多关于object-c(简称:oc,是ios开发app使用的语言) 与 js 交互的文章都比较适用于 mac开发,iOS的webview 还是有所不一样, 参考:http://blog.sina.com.cn/s/blog_693de6100102vhuh.html 本文提供了一个很好解决 交互的思路. 自然,从oc到js,可以使用 stringByEvaluatingJavaScr