
.Net中webBrowser控件JS交互
发布日期:2025-03-28 20:23:52
浏览次数:8
分类:精选文章
本文共 1096 字,大约阅读时间需要 3 分钟。
.Net程序开发中,若要实现“富”网页程序,JavaScript与C#的交互将是核心方案。本文将介绍两种情境下的代码实现。
C# 调用 JavaScript 函数
要在C#中调用JavaScript函数,需借助WebBrowser
控件。以下是常用实现方式:
// 调用 JavaScript 函数object[] objects = new object[1];objects[0] = "param1";this.webBrowser1.Document.InvokeScript("message", objects);
此方法通过直接调用脚本编译后的代码执行JavaScript函数,适用于默认权限环境。
JavaScript 调用 C# 函数
实现JavaScript调用的C#函数,那么就需要将C#类设置为可脚本访问:
using System.Security.Permissions;[PermissionSet(SecurityAction.Demand, Name = "FullTrust")][ComVisible(true)]public partial class FormMain : Form{ public FormMain() { InitializeComponent(); this.webBrowserMain.ObjectForScripting = this; } public void ShowMessage(string msg) { MessageBox.Show("JS 交互", msg); }}
在此基础上,JavaScript可通过全局对象window.external
调用C#函数:
try{ window.external.ShowMessage("message!");}catch (err){ alert("无法调用C#函数!");}
需要注意的是,window.external
必须将C#类注册为可脚本访问对象。
注意事项
安全权限:使用[PermissionSet] Ensure right permissions for scripting .
界面初始设置:确保在构造函数中设置ObjectForScripting
property.
尝试错误捕捉:在 JavaScript 中使用try-catch捕获可能的调用错误。
这些代码片段可以帮助开发者在Net程序中实现JavaScript与C#的双向交互,实现 RIAs。
发表评论
最新留言
不错!
[***.144.177.141]2025年04月25日 15时52分07秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
BitLocker驱动器加密概述
2023-01-24
Burp Suite使用进阶
2023-01-24
BurpSuite实战九之使用Burp Repeater
2023-01-24
BurpSuite实战八之使用Burp Intruder
2023-01-24
Ceph RBD块存储详解
2023-01-24
Ceph企业级实战
2023-01-24
Ceph存储引擎详解
2023-01-24
Ceph对象存储详解
2023-01-24
Cisco防火墙配置实战
2023-01-24
CISSP-安全与风险管理
2023-01-24
Clickhouse NoSQL数据库详解
2023-01-24
ContextLoaderListener自动装配配置信息
2023-01-24
DCS控制系统概述
2023-01-24
DDNS动态域名无固定IPSEC配置实战
2023-01-24
DELL笔记本UEFI+GPT安装window10与Ubuntu双系统
2023-01-24
Docker+Jenkins+GIT CICD持续化集成实战
2023-01-24
Dockerfile 指令详解
2023-01-24
Docker安装MongoDB(附Docker虚拟机环境与MongoDB客户端连接工具)
2023-01-24
DRBD分布式存储解决方案实战
2023-01-24