手机版

JS ACTIVEX实现了在网页上选择本地目录路径的对话框

时间:2021-11-22 来源:互联网 编辑:宝哥软件园 浏览:

选择网页的本地目录路径对话框,使用ACTIVEX对象遍历本地磁盘和目录。网页上只启用了ACTIVEX的INTERNET选项,对本地浏览器安全要求低,使用方便。用于在网页1上选择本地目录路径的示例对话框。打开主页面‘Select . html’,点击“选择路径”按钮进入路径选择页面“dir.html”,选择本地目录路径

2.路径选择页面“dir.html”初始化后,加载本地磁盘驱动,然后根据选择的磁盘路径加载其中的目录。如果目录中有子目录,双击目录列表项进入下一组目录。

3.点击“确定”,关闭选择路径页面‘dir . html’,将选择的路径值返回到主页面的‘select . html’文本框。

复制代码代码如下:/**//* *初始化,将系统所有的驱动器放入表_驱动器列表*/窗口。onload=新函数init(){ var FSO,s,n,e,x;fso=新的ActiveXObject('脚本编写.filestytemobject’);e=新枚举器(fso .驱动器);s=for(;e . ATend();e . move next()){ x=e . item();s=s x . drive letters=' : if(x . drive type==3)n=x . ShareName;否则,如果(x .准备就绪)n=x . VolumeName否则n='[驱动器未就绪]';s=n ',';} var drives=s.split(',');var表驱动=文档。getelementbyid(' tables _ drives ');for(var I=0;我开车。长度-1;I){ var OPTION=文档。创建元素(' OPTION ');开车。拆分(' : ');option.value='[' drives[i]' .拆分(' : ')[0]":"驱动器[i].拆分(' : ')[1];option.text='[' drives[i]' .拆分(' :')[0] ': ' '驱动器[i].拆分(' : ')[1];tableDrives.add(选项);} get _ drives();}/* *//* *表_驱动器列表中选中的驱动器上所有文件夹放入表格_文件夹列表中*/function get _ drives(){ var tableDrives=document。getelementbyid(' tables _ drives ');var tableFolders=document。getelementbyid(' table _ folder ');for(var I=0;我是TableDrives。选项。长度;i ) { if (tableDrives.options[i]).selected==true ) { var fso,f,fc,s;var drive=TableDrives。选项[一]。价值。拆分(' : ')[0].子字符串(1,TableDrives。选项[一]。价值。拆分(' : '[0]).长度);文件。getelementbyid(' backDir ').值=驱动器' : \ \fso=新的ActiveXObject('脚本编写.filestytemobject’);if (fso .DriveExists(drive)) { d=fso .GetDrive(驱动器);if (d.IsReady ) { f=fso .GetFolder(d . root文件夹);fc=新枚举器(f)。子文件夹);s=for(;fc。ATend();fc。movenext()){ s=fc。item();s=',';} var len=TableFolders。选项。长度;while(len=0){ TableFolders。选项。移除(镜头);len-;} var OPtion=文档。create ElEMENT(' OPtion ');option . value=drive ' : \ \ option . text=drive ' : \ \ TableFolders . add(选项);var folders=s.split(',');for(j=0;j文件夹。长度-1;j){ OPtion=文档。create ElEMENT(' OPtion ');选项。value=folders[j];选项。text=文件夹[j];tableFolders.add(选项);} } else { alert('无法改变当前内容!')} }否则返回false} } }函数get _ fileName(){ var tableFolders=document。getelementbyid(' table _ folder ');for(var I=0;我是TableFolders。选项。长度;i ) { if (tableFolders.options[i]).selected==true){ var文件夹路径=TableFolders。选项[一]。价值。子字符串(0,TableFolders。选项[一]。价值。长度);if(文件夹路径。charat(文件夹路径。length-1)=' \ \ '){ document。getelementbyid(' backDir ').value=folderpath} else { document。getelementbyid(' BAckDir ').value=folderpath ' \ \ } } } }/* */* */table _ folder双击选项中的一个选项,就将该文件夹下面的文件夹显示在表格_文件夹列表中。

*/function get _ file(){ var tableFolders=document。getelementbyid(' table _ folder ');var表驱动=文档。getelementbyid(' tables _ drives ');for(var I=0;我是TableFolders。选项。长度;i ) { if (tableFolders.options[i]).selected==true ) { var fso,f,fc,s;var文件夹路径=TableFolders。选项[一]。价值。子字符串(0,TableFolders。选项[一]。价值。长度);if(文件夹路径。charat(文件夹路径。length-1)=' \ \ '){ document。getelementbyid(' backDir ').value=folderpath} else { document。getelementbyid(' BAckDir ').value=folderpath ' \ \} fso=新的ActiveXObject('脚本编写.filestytemobject’);f=fso .GetFolder(文件夹路径);fc=新枚举器(f)。子文件夹);s=for(;fc。ATend();fc。movenext()){ s=fc。item();s=',';} var len=TableFolders。选项。长度;while(len=0){ TableFolders。选项。移除(镜头);len-;} var opt=var opt 1=for(j=0;j folderpath.split('\\ ').长度;j){ var OPTION=文档。创建元素(' OPTION ');opt=opt folderpath。拆分(' \ \ ')[j]' \ \ ';if(j 0){ opt 1=opt;option.value=opt1.substring(0,opt1。长度-1);option.text=opt1.substring(0,opt1。长度-1);tableFolders.add(选项);} else { option . value=option . text=OptTableFolders . add(选项);} } if (tableFolders.options[0].value==tableFolders.options[1].value){ TableFolders。选项。移除(1);}如果!='' ) { var folders=s.split(',');for(j=0;j文件夹。长度-1;j){ OPtion=文档。create ElEMENT(' OPtion ');选项。value=folders[j];选项。text=文件夹[j];tableFolders.add(选项);} } } } }

版权声明:JS ACTIVEX实现了在网页上选择本地目录路径的对话框是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。