`

C# webBrowser与javascript互调

    博客分类:
  • C#
阅读更多
实现步骤:
一、新建一个窗体,加入webBrowser控件
    控件名:webBrowser1

二、在窗体后台代码加入如下定义
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
    public partial class Form1 : Form
    {
      //...
    }
三、加载网页
    webBrowser1.Navigate(Application.StartupPath + "/UpDateReport.htm");
    webBrowser1.ObjectForScripting = this;  //这句必须,不然js不能调用C#
四、调用脚本方法

/// <summary>
        /// 脚本方法
        /// </summary>
        /// <param name="tag">JS函数名|参数1|参数2</param>
        /// <returns></returns>
        private object EXEC_JS(System.Windows.Forms.WebBrowser webBrowser, string tag)
        {
            string[] args = tag.Split('|');
            if (args.Length == 1)
            {
                return webBrowser.Document.InvokeScript(args[0], null);
            }
            else
            {
                object[] objects = new object[args.Length - 1];
                Array.Copy(args, 1, objects, 0, objects.Length);
                return webBrowser.Document.InvokeScript(args[0], objects);
            }
        }
五、C#调用脚本方法例子,可以有返回值

//JS方法
    <script language="javascript">
    function js_fun(args)
    {
         alert("我是通过js脚本弹出的。你输入的内容是:"+args);
         return "JAVASCRIPT";
     }
     </script>
    //C#代码
    object returnvalue = EXEC_JS(webBrowser1, "js_fun|参数字符串");
    MessageBox.Show("js方法返回值是:" + returnvalue.ToString());
六、JS调用C#方法的例子

//C#方法
        public string Test(string args)
        {
            return "你输入的是:"+args;
        }
    //JS代码
    <script language="javascript">
    window.onload = function()
    {
        var CS_returnvalue= window.external.Test("aaa");
        alert(CS_returnvalue);
    }
    </script>

 

分享到:
评论

相关推荐

    C# WebBrowser获取网站数据

    在.NET框架中,C# WebBrowser控件是一个强大的工具,它允许开发者在应用程序中嵌入一个基于Internet Explorer的浏览器引擎,从而实现与网页的交互。本篇将详细讲解如何利用C# WebBrowser控件来伪装成浏览器访问网页...

    C# WebBrowser页面内容缩放

    在.NET框架中,C#提供了一个内置的控件——`WebBrowser`,它允许开发者在Windows应用程序中嵌入一个浏览器引擎,以便展示网页内容。这个控件基于Internet Explorer的渲染引擎,因此它能够处理HTML、CSS和JavaScript...

    C# WebBrowser 任意切换IE版本

    在.NET框架中,C#的`WebBrowser`控件是一个非常实用的组件,它允许开发者在C/S(客户端/服务器)应用程序中内嵌一个浏览器,从而实现与B/S(浏览器/服务器)应用的交互。然而,`WebBrowser`控件默认使用的IE版本可能...

    C# webBrowser 使用Chrome内容案例

    `WebView2`控件提供了丰富的API,你可以使用这些API与网页进行交互,如注入JavaScript、监听导航事件、执行JavaScript命令等。例如,以下代码演示了如何执行JavaScript并获取返回值: ```csharp webView....

    C# webbrowser捕获错误页面实例类

    此外,考虑到`WebBrowser`控件可能需要与用户交互,例如处理重定向或确认是否继续加载有问题的页面,我们可以实现`WebBrowserNavigatingEventHandler`委托来控制导航行为: ```csharp private void webBrowser1_New...

    C# 利用WebBrowser获取网页信息

    在.NET框架中,C#提供了一个内置的控件——`WebBrowser`,它允许开发者在应用程序内部嵌入一个浏览器引擎,从而实现与网页交互的功能。本篇将详细讲解如何利用C#的`WebBrowser`控件来获取网页信息,包括HTML源代码、...

    C#WebBrowser导出网页所有图片

    通过这个控件,我们可以模拟浏览器行为,如加载网页、与网页交互等。 3. **HTML解析**:WebBrowser控件加载完网页后,可以获取到网页的HTML源代码。为了提取网页中的图片链接,我们需要对HTML进行解析。可以使用...

    C# WebBrowser获取网页截图

    `WebBrowser`控件可以加载URL,执行JavaScript,甚至与网页中的DOM元素进行交互。要加载一个网页,我们可以通过`WebBrowser.Navigate()`方法: ```csharp WebBrowser wb = new WebBrowser(); wb.Navigate(...

    C# 用WebBrowser实现的多页面浏览器

    在C#中使用WebBrowser控件,开发者可以通过.NET的API来控制和扩展浏览器功能,例如导航到特定URL、获取网页内容、执行JavaScript代码等。 实现多页面浏览器的关键在于管理和切换不同的WebBrowser实例。通常,每个...

    C#获取WebBrowser中的cookie和userAgent

    在C#的WebBrowser控件中,可以通过`WebBrowser.ObjectForScripting`属性设置一个对象,然后在JavaScript中读取navigator.userAgent,再通过该对象传递回C#。以下是一个例子: 1. 首先,定义一个公共方法供...

    C# winfrom webbrowser控件 内嵌火狐内核内核

    标题中的"C# WinFrom WebBrowser控件内嵌火狐内核内核",意味着我们将探讨如何在C#的WinForm应用中替换默认的`WebBrowser`控件,使其能够利用Mozilla Firefox的Gecko内核进行网页渲染。这通常涉及到使用第三方库,如...

    C#基于WebBrowser获取cookie的实现方法

    在C#编程中,WebBrowser控件是一个强大的工具,它允许开发者在Windows应用程序中嵌入一个Web浏览器,以便用户能够浏览网页。同时,通过WebBrowser控件,开发者还可以与网页进行交互,例如获取cookie信息。本文将深入...

    C#判断webbrowser页面最终加载完成

    在C#编程中,WebBrowser控件是一个非常实用的组件,它允许我们在Windows应用程序中嵌入网页浏览功能。然而,WebBrowser控件的加载过程并不是即时完成的,它需要加载HTML、CSS、JavaScript以及所有相关的资源。因此,...

    C# WebBrowser的应用

    除了基本的浏览功能,WebBrowser控件还支持与JavaScript的交互。通过`webBrowser1.Document.InvokeScript("functionName", parameters)`,你可以调用页面上的JavaScript函数,并传递参数。这使得C#应用程序可以与...

    简单IE浏览器(C# webbrowser的使用)

    `WebBrowser`控件还允许我们与网页的JavaScript交互。通过`WebBrowser`的`Document`属性,我们可以访问HTML文档的对象模型,并调用其中的JavaScript方法。例如,以下代码模拟点击网页上的按钮: ```csharp ...

    c#webbrowser实现多个窗口独立不同的cookie

    c#webbrowser实现多个窗口独立不同的cookie

    C# WebBrowser VS2010

    【C# WebBrowser 控件详解】 在Visual Studio 2010中,WebBrowser控件是.NET Framework提供的一种强大工具,允许开发者在Windows Forms应用程序中嵌入一个网页浏览器功能。这个控件基于Internet Explorer的内核,...

    C# WebBrowser 切换IE版本

    C# WebBrowser 任意切换IE版本,实惠WebBrowser的IE版本解决兼容性问题

    C#中WebBrowser控件的简单调用

    1,在项目中引用程序集拓展中的Microsoft.mshtml后,可以在公共控件中找到WebBrowser控件。 2,在窗体中加入三个按钮,然后添加WebBrowser控件,右键控件选属性,设置相应的属性。 3,设置WebBrowser控件的属性 ...

Global site tag (gtag.js) - Google Analytics