Windows和Mac浏览器启动本地程序
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Windows和Mac浏览器启动本地程序,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2274字,纯文字阅读大概需要4分钟。
内容图文
前言
这几天有个需求,需要在IE上启动本地程序,就如下面一样。
一开始,我还以为IE有提供特殊的接口,类似上图中的“RunExe”,可以找了大半天觉得不对经(找不到该方法)。
后来想想不对,这种方式是ActiveX控件。
ActiveX控件基本概念
ActiveX控件可以看作是一个极小的服务器应用程序,它不能独立运行,必须嵌入到某个容器程序中,与该容器一起运行。这个容器包括WEB网页,应用程序窗体等。
ActiveX控件是基于com标准,使得软件部件在网络环境中进行交互的技术集。它与具体的编程语言无关。作为针对Internet应用开发的技术,ActiveX被广泛应用于WEB服务器以及客户端的各个方面。同时,ActiveX技术也被用于方便地创建普通的桌面应用程序,此外ActiveX一般具有界面。
PS:使用ActiveX需要设置IE的安全级别,Internet选项-->安全-->自定义级别--> 对没有标记为安全的ActiveX控件进行初始化和脚本运行—>启用。
结论
所以就如启动QQ、迅雷,根本就不是用ActiveX控件,严格上讲,ActiveX控件已经是实现业务逻辑的可视化界面(类似Chrome的拓展程序),所以这种方式被抛弃,因为我是要启动本地一个程序,而不是一个“插件”。
自定义协议
就如果迅雷和QQ,可以用类似tencent://message,直接在页面启动程序。
做法:
Windows:在注册表添加一个新的key以及相关的value到HKEY_CLASSES_ROOT中,来使应用程序可以处理特殊的URL协议。
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\BingoLink] @="URL:BingoLink Protocol" "URL Protocol"="C:\\Program Files (x86)\\BingoSoft\\BingoLink\\BingoLink.exe" [HKEY_CLASSES_ROOT\BingoLink\DefaultIcon] @="C:\\Program Files (x86)\\BingoSoft\\BingoLink\\BingoLink.exe,1" [HKEY_CLASSES_ROOT\BingoLink\shell] @="open" [HKEY_CLASSES_ROOT\BingoLink\shell\open] @="open" [HKEY_CLASSES_ROOT\BingoLink\shell\open\command] @="\"C:\\Program Files (x86)\\BingoSoft\\BingoLink\\BingoLink.exe\" \"%1\""
<! doctype html > < html > < head > < meta charset ="utf-8" > < title >test</title></head><body ><a href="BingoLink://login?loginticket=11223344">点击这里启动程序</a></body></html>
附录
1.js启动本地程序。
var wsh = new ActiveXObject("WScript.shell"); var path = wsh.RegRead("HKEY_CLASSES_ROOT\\BingoLink\\URL Protocol") + " --sign=11223344"; wsh.exec(path); //用run是不行的
参考文献
1.http://blog.csdn.net/qq_25867649/article/details/52189412 【ActiveX控件】
2.http://blog.csdn.net/jackychen_king/article/details/7743811 【通过自定义URL协议在Web中启动本地应用程序】
3.http://cocoa.venj.me/blog/custom-url-scheme-on-mac-and-ios/
原文:http://www.cnblogs.com/lovesong/p/6501322.html
内容总结
以上是互联网集市为您收集整理的Windows和Mac浏览器启动本地程序全部内容,希望文章能够帮你解决Windows和Mac浏览器启动本地程序所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。