当前位置:首页 > 计算机 > 正文内容

C#与javascript 相互调用

DYX3年前 (2022-06-22)计算机680

1.准备环境

   vs2010 

2. 项目结构

   

     index.htm 为需要显示的web页面

     其中需要操作提供的方式的C# 调用的javascript 方法 以及进行测试javascript 调用C# 方法的测试

    源码如下:   

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn" />
<title>
demo
</title>
<script language="javascript" type="text/javascript">
function messageBox(message)
{
alert(message);
}
</script>
</head>
<body>
<!-- 调用C#方法 -->
<button onclick="window.external.ShowMessage('javascript访问C#代码')">
javascript访问C#代码</button>
<div style=" background-color:Black; height: 105px;">
</div>
</body>
</html>

      winform 提供的javascript 调用方法

public void ShowMessage(string message)
{
MessageBox.Show(message);

    窗体加载显示的web页面(比较简单)

private void Form1_Load(object sender, EventArgs e)
{
System.IO.FileInfo file = new System.IO.FileInfo("index.htm");
// WebBrowser控件显示的网页路径
webBrowser1.Url = new Uri(file.FullName);
// 将当前类设置为可由脚本访问
webBrowser1.ObjectForScripting = this;
}

 开始界面如下:

 

调用web 的javascript 测试:

进行C#方法调用(提示一下错误)

原因是c# 是托管代码与window.external 调用需要使用的com 对象不一致,

如何改进(很简单)进行配置即可,如下:

再次运行:

界面如下:

例子比较简单。

其中最重要的是

window.external 

具体的使用请自己搜索(可以给网站添加搜索,添加收藏加,调用其他的外部方法。。。。。)

3. 可以应用的场景

   大家经常使用的播放器(比如千千静听某版本)我们点击搜索是web页面,然后点击播放直接添加winform 页面 等等。。。。。


“C#与javascript 相互调用” 的相关文章

Win10企业版和LTSB\LTSC分支有什么不同

Win10企业版和LTSB\LTSC分支有什么不同

Win10企业版相对于家庭版、教育版、专业版的用户人群不同,面向企业用户。但是Win10又出现了LTSB版和N版。这个LTSB版和N版是什么?两者区别在哪?微软弱的服务器操作系统Server2019也有长期服务版本LTSC版,提供10年技术支持。对于企业来说,有技术支持最好。Win10 LTSB 2...

高级运维的一天

高级运维的一天

很多刚学linux运维的朋友,总是搞不懂,运维工程师工作中干些啥?学的这些东西有什么用?还有很多人会以为运维嘛,不就是一个修电脑修网线的。有句话说得好:运维做到极致,不是出现问题时能轻松解决,而是知道怎么提前预防问题的出现,能将故障扼杀在萌芽里。今日我特来总结总结一个高级运维干什么,希望能帮助即将跨...

Linux常用命令思维导图

Linux常用命令思维导图

wget http://192.168.2.102/a.txt 到指定域名下下载指定文件查看命令帮助(b向上移动,空格键向下,q退出) man 命令名 (查看命令详细说明) 命令名 –help (查看命令的常用选项)关机和重启 关机:shutdown -h now (n...

Cheat Engine

Cheat Engine

Cheat Engine又称CE修改器是一款内存修改编辑工具。你可以通过ce修改器(Cheat Engine)软件来修改游戏中的内存数据、人物属性、金币数值等等,功能强大企且操作简单,可以为你带来良好的更好的体验游戏。 Cheat Engine(ce修改器)软件特点  ce修改器(Chea...

CCboot无盘安装Windows10笔记

CCboot无盘安装Windows10笔记

最近突发奇想,研究了一下无盘系统,也算是给自己提高了一下,研究时间历时一星期左右,学习过程中碰到了很多问题,在这里记录一下,以免忘记。本次研究的无盘系统为CCBOOT,是国外的一款无盘系统,之所以选择CCBOOT而不是常见的锐起、网维等系统。主要原因是太多的无盘系统只适合网吧使用,而CCBOOT自带...

PowerShell使用教程

PowerShell使用教程

一、说明1.1 背景说明个人对PowerShell也不是很熟悉,开始的时候就突然看到开始菜单中多了个叫PowerShell的文件夹,后来一点就看到某个教程视频说PowerShell很厉害但也没怎么听,再后来就看到kali也有了一些PowerShell的脚本这才意识到PowerShell应该确实有独到...