chrome打开共享文件夹完美方案
背景 在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"命令打开文件或文件夹。 3.在nircmd命令里把【openCmd:路径】中的路径写入文件cmdOutput.txt,并调用bat脚本decodeURIComponent.bat。 4.在bat脚本里调用js,把文件【cmdOutput.txt】进行中文编码转换并输出到文件【cmdInput.txt】。 5.最后在bat脚本里根据文件【cmdInput.txt】里面的路径直接使用shexec"open"命令打开文件或文件夹。
用户评论