背景
在IE8下通过a标签的href="本地路径"可以打开,但是chrome以及firefox不可以。
原因:在IE中输入file:///c:windows/地址之后,调用的资源管理器explorer.exe进行打开。chrome等浏览器由于安全机制,采用了文件索引的方式,不允许直接操作本地文件。
功能介绍
通过链接可以访问本地目录、共享目录、本地文件、共享文件(支持所有浏览器)
优化点
1、支持中文路径 2、支持文件夹名中含有空格 3、点击链接时直接打开(和IE8效果一样)
使用方法
1.客户端:【右键以管理员身份运行我.bat】,打开后根据提示安装 2.服务器代码:openCmd:路径 例子:测试
实现原理
采用类似于迅雷链接的外部协议,比如点击迅雷的链接能够把迅雷的客户端给调用起来。
1.把【openCmd:】以外部协议的方式写入注册表。
2.在注册表里调用nircmd,nircmd是无窗口命令。
3.在nircmd命令里把【openCmd:路径】中的路径写入文件cmdOutput.txt,并调用bat脚本decodeURIComponent.bat。
4.在bat脚本里调用js,把文件【cmdOutput.txt】进行中文编码转换并输出到文件【cmdInput.txt】。
5.最后在bat脚本里根据文件【cmdInput.txt】里面的路径直接使用shexec"open"命令打开文件或文件夹。
1