首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从C#.NET中的代码隐藏调用Javascript函数

是通过使用WebBrowser控件来实现的。WebBrowser控件是一个嵌入式的浏览器控件,可以在Windows应用程序中显示和操作网页。

在C#.NET中,可以通过以下步骤隐藏调用Javascript函数:

  1. 在Windows窗体应用程序中添加一个WebBrowser控件。
  2. 在代码中,使用WebBrowser控件的DocumentCompleted事件来确保网页已加载完毕。
  3. 在DocumentCompleted事件中,使用WebBrowser控件的Document属性来获取网页的DOM结构。
  4. 使用DOM结构中的getElementById、getElementsByClassName、getElementsByTagName等方法来获取需要调用的Javascript函数所在的元素。
  5. 使用InvokeScript方法调用Javascript函数,传递参数并获取返回值。

下面是一个示例代码:

代码语言:csharp
复制
using System;
using System.Windows.Forms;

namespace WindowsFormsApp
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            webBrowser1.DocumentCompleted += WebBrowser1_DocumentCompleted;
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            webBrowser1.Navigate("https://example.com");
        }

        private void WebBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            if (e.Url.AbsolutePath != webBrowser1.Url.AbsolutePath)
                return;

            var script = "function myFunction(param) { return 'Hello ' + param; }";
            webBrowser1.Document.InvokeScript("eval", new object[] { script });

            var result = webBrowser1.Document.InvokeScript("myFunction", new object[] { "World" });
            MessageBox.Show(result.ToString());
        }
    }
}

在上述示例中,首先在Form的构造函数中订阅了WebBrowser控件的DocumentCompleted事件。在Form的Load事件中,使用Navigate方法加载了一个网页。

在DocumentCompleted事件中,首先通过eval函数在网页中注入了一个名为myFunction的Javascript函数。然后使用InvokeScript方法调用了myFunction函数,并传递了一个参数"World"。最后,通过MessageBox显示了myFunction函数的返回值。

这样就实现了从C#.NET中的代码隐藏调用Javascript函数。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券