网页通过注册表协议执行客户端程序:避开IE安全提示
4星 · 超过85%的资源 需积分: 10 35 浏览量
更新于2024-09-20
收藏 135KB DOC 举报
网页执行客户端程序是一个常见的需求,特别是当网站想要与用户本地的特定应用程序进行交互,而不需要用户主动下载或安装额外插件。本文主要关注如何通过利用注册表内协议来实现这一功能,避免在IE浏览器中弹出安全提示的问题。
首先,需求是构建一个包含网页和客户端大厅程序的系统,当用户点击网页上的进入大厅按钮时,客户端程序应能自动启动。通常的做法是使用JavaScript调用ActiveX控件,如示例中的`WScript.Shell`对象来执行客户端程序,但这种方式会触发浏览器的安全警告,用户体验不佳。
文章提到的关键点是通过注册表协议来达到目的。具体步骤如下:
1. 安装客户端时,在注册表中创建一个新协议(例如:"test"),并指定其关联的程序路径。在这个例子中,`test:\\` 将被解析为`C:\\ProgramFiles\\test.Setup\\test.exe`,用户只需在浏览器地址栏输入这个协议前缀即可启动客户端。
```plaintext
[HKEY_CLASSES_ROOT\test]
@="testProtocol"
"URLProtocol"="\"C:\\ProgramFiles\\test.Setup\\test.exe\""
[HKEY_CLASSES_ROOT\test\shell]
[HKEY_CLASSES_ROOT\test\shell\open]
[HKEY_CLASSES_ROOT\test\shell\open\command]
@="\"C:\\ProgramFiles\\test.Setup\\Driver.exe\""
```
通过这种方式,客户端程序与特定的URL协议关联起来,用户无需知道具体的文件路径,只需在浏览器中输入简短的协议名即可。
2. 当客户端未安装时,确保提供友好的提示。起初,这可能需要一些技巧,因为直接调用`WScript.Shell`控制台方法来检测客户端是否存在并不常见。然而,作者发现可以借鉴QQ游戏大厅等应用的实现方式,这些应用通常使用类似的方法来检查安装状态。
文章未提供具体的方法,但暗示可能涉及到异步脚本(如XMLHttpRequest)或者更复杂的技术,如检测特定文件(如DLL或配置文件)的存在来判断客户端是否已安装。这些方法可能会通过后台检查或者利用浏览器的文件系统访问权限来实现。
总结来说,利用注册表内协议和注册表键值对可以优雅地隐藏客户端程序的启动细节,提升用户体验。同时,处理客户端未安装的情况可能需要结合其他技术手段,以确保在整个流程中提供一致和简洁的交互。通过合理的代码设计和用户提示,网页执行客户端程序可以实现无缝的集成。
2012-02-01 上传
2019-03-17 上传
2021-04-12 上传
2021-01-16 上传
2010-04-12 上传
2007-10-16 上传
2016-11-09 上传
2019-06-18 上传
2016-08-01 上传
cdm_net
- 粉丝: 0
- 资源: 2
最新资源
- BottleJS快速入门:演示JavaScript依赖注入优势
- vConsole插件使用教程:输出与复制日志文件
- Node.js v12.7.0版本发布 - 适合高性能Web服务器与网络应用
- Android中实现图片的双指和双击缩放功能
- Anum Pinki英语至乌尔都语开源词典:23000词汇会话
- 三菱电机SLIMDIP智能功率模块在变频洗衣机的应用分析
- 用JavaScript实现的剪刀石头布游戏指南
- Node.js v12.22.1版发布 - 跨平台JavaScript环境新选择
- Infix修复发布:探索新的中缀处理方式
- 罕见疾病酶替代疗法药物非临床研究指导原则报告
- Node.js v10.20.0 版本发布,性能卓越的服务器端JavaScript
- hap-java-client:Java实现的HAP客户端库解析
- Shreyas Satish的GitHub博客自动化静态站点技术解析
- vtomole个人博客网站建设与维护经验分享
- MEAN.JS全栈解决方案:打造MongoDB、Express、AngularJS和Node.js应用
- 东南大学网络空间安全学院复试代码解析