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

C#与javascript 相互调用

DYX2年前 (2022-06-22)计算机276

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 相互调用” 的相关文章

华为正式推出openEuler服务器操作系统

华为正式推出openEuler服务器操作系统

3月27日,在线上举办的华为开发者大会HDC 2020上,华为正式推出了openEuler 20.03 LTS版本,任何伙伴均可免费获取LTS版本并商业化。华为Cloud & AI BG总裁侯金龙表示,openEuler也是一个创新...

Linux常用命令思维导图

Linux常用命令思维导图

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

Office 2019 Pro VOL正式版安装

Office 2019 Pro VOL正式版安装

微软从office 2019开始不再提供MSI安装包文件安装要通过ODT(就是个2M大小的下载程序)不支持win7/8只能安装在win10操作系统 布署工具ODT下载地址:https://download.microsoft.com/download/2/7/A/27AF1BE6-DD...

CCboot无盘安装Windows10笔记

CCboot无盘安装Windows10笔记

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

部分型号HG8342R超管密码破解

部分型号HG8342R超管密码破解

仅对部分型号HG8342R,新型号的无效      一、把笔记本IP设置为192.168.1.2,掩码255.255.255.0,网关192.168.1.1,然后拔掉光猫上的光纤,用一根网线连接光猫LAN1口和电脑,用论坛上分享的使能工具下载之后打开工具,点启...

PowerShell使用教程

PowerShell使用教程

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