0

    JS打开本地文件夹并选中文件jquery

    2023.04.29 | admin | 167次围观

    
    
    
    
    无标题文档
    
    
    	
    
    

    有这么一个题目:一张数据DVD上存放这很多不同类型的数据,相同类型的数据存放在同一个文件夹中,需要在根目录中建立一个索引表,索引表中有该数据的相关信息,并且通过在索引中点击该数据的连接即可打开该文件夹并定位到该文件。

    说 白了就是建立一个目录,但是目录需要实现定位的功能,当然定位的数据可以是前期维护进去的,于是关键就是如何打开文件夹并定位文件,以前买过一些书中带有 数据光盘,光盘中使用的是网页的HTML来做目录,但是点击该目录中的某一条的时候却是弹出是否保存该文件,这一点让人觉得是鸡肋,哥都有光盘了,还保存 什么,直接打开不就行了?于是我开始实践。

    寻找了一些方法来实现,在页面的图片加上添加链接,但是 只能打开该目录,并不能定位到文件;在mfc中使用windows函数,但是又遇到了将js和vc关联起来的瓶颈,话说网上还有很多使用.net来实现的 例子,甚至是有人说添加一个link的目标和搜索功能的打开所在文件夹js 打开本地文件,和迅雷下载完后打开目录,都是调用相关函数完成这个功能,唯独js属于小方之家, 功能太局限,完成这个似乎难度有点大,分析以上函数完成打开文件夹定位文件功能从windows系统是调用了系统命令explorer和他的 /select参数,经过尝试,完整的命令是这样的,例如定位c:\boot.ini文件,cmd命令:

    >explorer /select,c:\boot.ini

    这样任务转化为js调用系统命令,果然有这个功能,通过WScript.shell 的run函数,js和vb都有。完整的js调用代码是:

    var wsh = new ActiveXObject("WSCript.shell");

    var src = /select,c:\boot.ini;

    wsh.run("explorer.exe "+src);

    在run的参数整理也花费了很多时间,这里参数必须使用命令+参数的形式,直接写进run里面成为:

    wsh.run("explorer.exe /select,c:\boot.ini");

    是不行的,参数传达不过去,这么的,再加上一些字符串的处理,路径的获取什么的,就能完成这个任务js 打开本地文件,可见搭建桥梁是一件快乐的事情。

    if you want all of the code ,please e-mail me .

    Javascript中使用new ActiveXObject(WScript.Shell)创建对象,出现:Automation服务器不能创建对象的错误,其原因有
    一、组件未注册,可以采用以下方法:
    开始-》运行-》regsvr32 c:\WINDOWS\system32\shell32.dll
    开始-》运行-》regsvr32 c:\WINDOWS\system32\WSHom.Ocx
    开始-》运行-》regsvr32 c:\WINDOWS\system32\scrrun.dll
    如果提示缺少那个dll或ocx,那么就去网上下载吧或去其他电脑上拷贝
    二、浏览器设置(本方法在IE6上通过),可以采用以下方法:
    工具-》Internet选项-》安全-》受信任的站点-》站点-》取消下方要求安全验证的复选框,并将你的网址添进去,确定,再选上要求验证的复选框-。
    通过以上设置,此组件已能创建,但受限较多,不推荐网站使用。

    版权声明

    本文仅代表作者观点。
    本文系作者授权发表,未经许可,不得转载。

    发表评论