- 浏览: 1231363 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (718)
- HTML (13)
- JS基础 (23)
- JS应用 (40)
- AJAX (6)
- JSP相关 (12)
- JAVA基础 (52)
- JAVA应用 (74)
- APPLET (11)
- SWING\RCP (2)
- JAVA反射 (6)
- 设计模式 (26)
- 数据库设计 (20)
- Struts (35)
- Struts2 (12)
- Spring (22)
- Hibernate (45)
- Ibatis (18)
- mybatis (3)
- SSH (8)
- UML (5)
- WebService (3)
- XML (16)
- Log4j (7)
- WEB容器 (26)
- 数据结构 (36)
- Linux (34)
- Ruby on Rails (1)
- 其它技术 (27)
- IDE配置 (15)
- 项目实战 (2)
- Oracle (69)
- JAVA报表 (7)
- Android学习 (2)
- 博客链接 (1)
- 网络基础 (1)
- WEB集群 (1)
- .Net开发 (11)
- PB (4)
- 系统构建 (15)
最新评论
-
jnjeC:
牛逼啊哥们,讲得太好了
Maven仓库理解、如何引入本地包、Maven多种方式打可执行jar包 -
九尾狐的yi巴:
很好 感谢!
Itext中文处理(更新版) -
luweifeng1983:
有用的,重启一下嘛。
设置eclipse外部修改文件后自动刷新 -
Master-Gao:
设置了也不管用,怎么破呢?
设置eclipse外部修改文件后自动刷新 -
aigo_h:
锋子还有时间写博客,还是很闲哈!
Add directory entries问题
http://www.blogjava.net/supercrsky/archive/2008/06/17/208641.html
解决方案1:
调用windows的shell,但会有安全问题.
* browseFolder.js
* 该文件定义了BrowseFolder()函数,它将提供一个文件夹选择对话框
* 以供用户实现对系统文件夹选择的功能
* 文件夹选择对话框起始目录由
* Shell.BrowseForFolder(WINDOW_HANDLE, Message, OPTIONS, strPath)函数
* 的strPath参数设置
* 例如:0x11--我的电脑
* 0 --桌面
* "c:\\"--系统C盘
*
* 用如下代码把该函数应用到一个HTML文件中:
* <script src="browseFolder.js"></script>
* 或把下面代码直接COPY到<script language="javascript">...</script>标签中;
* 特别注意的是,由于安全方面的问题,你还需要如下设置才能使本JS代码正确运行,
* 否者会出现"没有权限"的问题.
*
* 1、设置可信任站点(例如本地的可以为:http://localhost)
* 2、其次:可信任站点安全级别自定义设置中:设置下面的选项
* "对没有标记为安全的ActiveX控件进行初始化和脚本运行"----"启用"
browserFolder.js:
/**/
/*
**
path要显示值的对象id
*** */
function browseFolder(path) {
try {
var Message = " \u8bf7\u9009\u62e9\u6587\u4ef6\u5939 " ; // 选择框提示信息
var Shell = new ActiveXObject( " Shell.Application " );
var Folder = Shell.BrowseForFolder( 0 ,Message, 64 , 17 ); // 起始目录为:我的电脑
// varFolder=Shell.BrowseForFolder(0,Message,0);//起始目录为:桌面
if (Folder != null ) {
Folder = Folder.items(); // 返回FolderItems对象
Folder = Folder.item(); // 返回Folderitem对象
Folder = Folder.Path; // 返回路径
if (Folder.charAt(Folder.length - 1 ) != " \\ " ) {
Folder = Folder + " \\ " ;
}
document.getElementById(path).value = Folder;
return Folder;
}
}
catch (e) {
alert(e.message);
}
}
path要显示值的对象id
*** */
function browseFolder(path) {
try {
var Message = " \u8bf7\u9009\u62e9\u6587\u4ef6\u5939 " ; // 选择框提示信息
var Shell = new ActiveXObject( " Shell.Application " );
var Folder = Shell.BrowseForFolder( 0 ,Message, 64 , 17 ); // 起始目录为:我的电脑
// varFolder=Shell.BrowseForFolder(0,Message,0);//起始目录为:桌面
if (Folder != null ) {
Folder = Folder.items(); // 返回FolderItems对象
Folder = Folder.item(); // 返回Folderitem对象
Folder = Folder.Path; // 返回路径
if (Folder.charAt(Folder.length - 1 ) != " \\ " ) {
Folder = Folder + " \\ " ;
}
document.getElementById(path).value = Folder;
return Folder;
}
}
catch (e) {
alert(e.message);
}
}
使用的时候:
<
td
>
< input type ="text" name ="path" />
</ td >
< td >
< input type ="button" onclick ="browseFolder('path')"
value ="选择生成路径" />
</ td >
< input type ="text" name ="path" />
</ td >
< td >
< input type ="button" onclick ="browseFolder('path')"
value ="选择生成路径" />
</ td >
2.解决方案二:
自己写一个js读取本地硬盘的选择框, 缺点是外观上较上一个差一些.
<
html
>
< head >
< meta http-equiv ="Content-Type" content ="text/html;charset=gb2312" >
< title > 无标题文档 </ title >
</ head >
< body >
< table border ="0" cellpadding ="0" width ="100%" id ="tb_show" >
< tr >
< td width ="18%" > 文件保存位置: </ td >
< td width ="82%" >
<% --< html:file property = " file " size = " 40 " styleClass = " inputbox " />-- %>
< input name ="backDir" type ="text" value ="C:\" size ="100" width ="500" >
</ td >
</ tr >
< tr >
< td > 目录位置: </ td >
< td >
< select name ="tables_drive" id ="tables_drives" onchange ="get_drives()" ></ select >
</ td >
</ tr >
< tr >
< td colspan ="2" >
< select name ="table_folder" id ="table_folder" size ="10" multipleondblclick ="get_file()" ></ select >
</ td >
</ tr >
< tr >
< td colspan ="2" >
< font color ="red" > 说明:双击列表框的一个选项,就将该文件夹下面的文件夹显示在该列表框中。第一个就是根目录 </ font >
</ td >
</ tr >
</ table >
</ body >
</ html >
< script >
/**/ /*
*初始化,将系统所有的驱动器放入table_drives列表
*/
window.onload = new function init()
{
var fso,s,n,e,x;
fso = new ActiveXObject( " Scripting.FileSystemObject " );
e = new Enumerator(fso.Drives);
s = "" ;
for (; ! e.atEnd();e.moveNext())
{
x = e.item();
s = s + x.DriveLetter;
s += " : " ;
if (x.DriveType == 3 )
n = x.ShareName;
else if (x.IsReady)
n = x.VolumeName;
else
n = " [驱动器未就绪] " ;
s += n + " , " ;
}
var drives = s.split( " , " );
var tableDrives = document.getElementById( " tables_drives " );
for ( var i = 0 ;i < drives.length - 1 ;i ++ )
{
var option = document.createElement( " OPTION " );
drives[i].split( " : " );
option.value = " [ " + drives[i].split( " : " )[ 0 ] + " :] " + drives[i].split( " : " )[ 1 ];
option.text = " [ " + drives[i].split( " : " )[ 0 ] + " :] " + drives[i].split( " : " )[ 1 ];
tableDrives.add(option);
}
}
/**/ /*
*tables_drives列表中选中的驱动器上所有文件夹放入table_folder列表中
*/
function get_drives()
{
var tableDrives = document.getElementById( " tables_drives " );
var tableFolders = document.getElementById( " table_folder " );
for ( var i = 0 ;i < tableDrives.options.length;i ++ )
{
if (tableDrives.options[i].selected == true )
{
var fso,f,fc,s;
var drive = tableDrives.options[i].value.split( " : " )[ 0 ].substring( 1 ,tableDrives.options[i].value.split( " : " )[ 0 ].length);
document.getElementById( " backDir " ).value = drive + " :\\ " ;
fso = new ActiveXObject( " Scripting.FileSystemObject " );
if (fso.DriveExists(drive))
{
d = fso.GetDrive(drive);
if (d.IsReady)
{
f = fso.GetFolder(d.RootFolder);
fc = new Enumerator(f.SubFolders);
s = "" ;
for (; ! fc.atEnd();fc.moveNext())
{
s += fc.item();
s += " , " ;
}
var len = tableFolders.options.length;
while (len >= 0 )
{
tableFolders.options.remove(len);
len -- ;
}
var option = document.createElement( " OPTION " );
option.value = drive + " :\\ " ;
option.text = drive + " :\\ " ;
tableFolders.add(option);
var folders = s.split( " , " color: #000000; background-color:
< head >
< meta http-equiv ="Content-Type" content ="text/html;charset=gb2312" >
< title > 无标题文档 </ title >
</ head >
< body >
< table border ="0" cellpadding ="0" width ="100%" id ="tb_show" >
< tr >
< td width ="18%" > 文件保存位置: </ td >
< td width ="82%" >
<% --< html:file property = " file " size = " 40 " styleClass = " inputbox " />-- %>
< input name ="backDir" type ="text" value ="C:\" size ="100" width ="500" >
</ td >
</ tr >
< tr >
< td > 目录位置: </ td >
< td >
< select name ="tables_drive" id ="tables_drives" onchange ="get_drives()" ></ select >
</ td >
</ tr >
< tr >
< td colspan ="2" >
< select name ="table_folder" id ="table_folder" size ="10" multipleondblclick ="get_file()" ></ select >
</ td >
</ tr >
< tr >
< td colspan ="2" >
< font color ="red" > 说明:双击列表框的一个选项,就将该文件夹下面的文件夹显示在该列表框中。第一个就是根目录 </ font >
</ td >
</ tr >
</ table >
</ body >
</ html >
< script >
/**/ /*
*初始化,将系统所有的驱动器放入table_drives列表
*/
window.onload = new function init()
{
var fso,s,n,e,x;
fso = new ActiveXObject( " Scripting.FileSystemObject " );
e = new Enumerator(fso.Drives);
s = "" ;
for (; ! e.atEnd();e.moveNext())
{
x = e.item();
s = s + x.DriveLetter;
s += " : " ;
if (x.DriveType == 3 )
n = x.ShareName;
else if (x.IsReady)
n = x.VolumeName;
else
n = " [驱动器未就绪] " ;
s += n + " , " ;
}
var drives = s.split( " , " );
var tableDrives = document.getElementById( " tables_drives " );
for ( var i = 0 ;i < drives.length - 1 ;i ++ )
{
var option = document.createElement( " OPTION " );
drives[i].split( " : " );
option.value = " [ " + drives[i].split( " : " )[ 0 ] + " :] " + drives[i].split( " : " )[ 1 ];
option.text = " [ " + drives[i].split( " : " )[ 0 ] + " :] " + drives[i].split( " : " )[ 1 ];
tableDrives.add(option);
}
}
/**/ /*
*tables_drives列表中选中的驱动器上所有文件夹放入table_folder列表中
*/
function get_drives()
{
var tableDrives = document.getElementById( " tables_drives " );
var tableFolders = document.getElementById( " table_folder " );
for ( var i = 0 ;i < tableDrives.options.length;i ++ )
{
if (tableDrives.options[i].selected == true )
{
var fso,f,fc,s;
var drive = tableDrives.options[i].value.split( " : " )[ 0 ].substring( 1 ,tableDrives.options[i].value.split( " : " )[ 0 ].length);
document.getElementById( " backDir " ).value = drive + " :\\ " ;
fso = new ActiveXObject( " Scripting.FileSystemObject " );
if (fso.DriveExists(drive))
{
d = fso.GetDrive(drive);
if (d.IsReady)
{
f = fso.GetFolder(d.RootFolder);
fc = new Enumerator(f.SubFolders);
s = "" ;
for (; ! fc.atEnd();fc.moveNext())
{
s += fc.item();
s += " , " ;
}
var len = tableFolders.options.length;
while (len >= 0 )
{
tableFolders.options.remove(len);
len -- ;
}
var option = document.createElement( " OPTION " );
option.value = drive + " :\\ " ;
option.text = drive + " :\\ " ;
tableFolders.add(option);
var folders = s.split( " , " color: #000000; background-color:
发表评论
-
Cookie相关操作
2013-02-20 17:44 943JS操作Cookie: http://www.oschin ... -
JS回车实现Tab功能
2012-11-07 15:50 1086//用回车跳到下一个输入框,用法:在<tab ... -
javascript的focus函数如何定位到textarea指定地方
2012-11-07 15:45 1911转:http://hi.baidu.com/codylee/i ... -
模式窗口window.showModalDialog()的用法
2012-02-14 13:01 849http://www.pqshow.com/design/ji ... -
JavaScript判断浏览器类型及版本
2011-11-23 19:13 9106转自:http://www.cnblogs.com/leadz ... -
JQuery基础
2011-11-15 20:46 702//$("#defaultPassId") ... -
JQuery 随机生成密码
2011-11-15 20:29 1190<script type="text/java ... -
JS生成随机密码
2011-11-15 17:24 1172<!DOCTYPE HTML PUBLIC " ... -
在什么时候才会用到fireEvent方法呢?
2011-10-14 17:28 1016本文转自:http://www.cnblo ... -
get提交中文后乱码的问题的解决
2011-09-16 13:19 757首先,encodeURIComponent对参数值 编码,要经 ... -
利用javascript实现web页面刷新的方法
2010-06-02 16:34 901javascript refresh page Java ... -
onkeyup,onkeydown,onkeypress
2010-02-03 13:17 6457在使用JavaScript做WEB键盘事件侦听捕获时,主要采 ... -
JS事件处理相关应用,srcElement
2010-01-22 01:20 1535对 evt = (evt) ? evt : window ... -
转:JQuery Ajax 仿google suggest 自动补全功能 支持中文(jsp / Servlet)
2010-01-21 18:04 2612本文转自:JQuery Ajax 仿google sugges ... -
JS控制checkbox
2008-12-16 18:07 949下面的有关实现chckbox全选的方法或多或少存在一些缺陷,具 ... -
提交和设置表单的值
2008-12-18 13:26 901<inputtype="button&quo ... -
Javascript 操作select控件大全(新增、修改、删除、选中、清空、判断存在等)
2008-12-18 14:16 8461判断select选项中是否存在Value="p ... -
JS对话框的总结
2009-02-13 10:30 1074对话框有三种 1 alert 只是提醒,不能对脚本产生任何改变 ... -
JS类型转換parseInt应注意的问题
2009-02-13 10:40 880http://www.blogjava.net/smcdl/ ... -
JAVASCRIPT应用篇(1)--动态给对象添加属性
2009-02-20 16:55 896<script language="javas ...
相关推荐
在JavaScript中,实现文件夹选择框的功能并非标准API的一部分,因为出于安全和隐私考虑,浏览器通常不允许直接访问用户的文件系统。然而,通过一些技巧和利用HTML5的一些特性,我们可以找到变通的方法来实现类似功能...
因此,解决方案主要依赖于前端技术,特别是JavaScript脚本语言以及IE浏览器提供的特定API——`Shell.BrowseForFolder`方法。下面将详细介绍这一方法的使用过程及其在实际项目中的具体实现。 #### 实现步骤 1. **...
#### 解决方案详解 ##### 1. 调用Windows Shell API 为了实现文件夹的选择,我们可以利用JavaScript中的ActiveX技术调用Windows Shell API。这种方法可以通过`Shell.BrowseForFolder()`函数来弹出一个文件夹选择...
但是,借助HTML5引入的一些API,如FileReader API和File System API(已废弃),以及现代浏览器支持的Web Workers和Service Workers,我们可以找到一些解决方案。 1. **FileReader API** FileReader API允许我们在...
在“一种基于VueJS的平台前端框架解决方案”中,主要探讨了如何利用VueJS构建一个高效、可扩展且适合多人协同开发的前端框架。 首先,界面设计是任何前端框架的核心部分。VueJS提供了丰富的指令和组件系统,使得...
文件列表中的"画板选择框.vsln"是Visual Studio解决方案文件,包含了项目的配置信息和所有相关的项目文件。"画板选择框"可能是源代码文件夹,包含具体的JavaScript或TypeScript代码,以及可能的HTML和CSS文件。"tb...
总结来说,这个压缩包提供了一套完整的解决方案,用于在网页上创建一个具有国旗图标的可搜索世界国家下拉选择框。开发者可以通过这个组件轻松地集成到自己的网站中,提升用户在选择国家时的体验。
总的来说,"web中选择文件夹的OCX"为Web应用提供了一种在旧版浏览器环境下选择本地文件夹的解决方案。然而,随着技术的迭代,开发者应当关注更现代、更安全的替代方法,以适应不断变化的Web环境。在实际项目中,需要...
其核心特性在于提供了一种灵活且易于使用的解决方案,使得开发者无需深入CSS和JavaScript的细节就能实现动态浮动效果。 首先,让我们来了解一下jQuery。jQuery是一个高效、简洁且功能丰富的JavaScript库,它简化了...
无论是想提升自己的前端技能,还是寻找现成的解决方案,这个资源都能提供宝贵的学习材料和灵感来源。通过深入研究和实践这些案例,开发者可以更好地掌握这两种技术,并应用于实际的移动项目中。
总的来说,"jQuery文件夹创建展开收缩代码.zip" 提供了一套完整的解决方案,利用jQuery和Bootstrap的强大功能,实现了一种直观且响应式的文件夹操作效果,对于开发人员来说,它是一个快速构建此类功能的良好起点。...
Bootswatch是一款专门为Bootstrap框架设计的前端UI解决方案,它提供了多样的主题和样式,使得开发者可以轻松地定制和改变Bootstrap的默认外观,从而打造出独具特色的网站界面。在本压缩包"Bootswatch.zip"中,包含的...
7. **jQuery与AJAX**:虽然.NET提供了一套完整的AJAX解决方案,但很多开发者依然选择使用jQuery库来处理AJAX请求,因为它的API简洁且兼容性好。jQuery的$.ajax()、$.get()、$.post()等函数使异步请求变得非常简单。 ...
总的来说,ArtDialog是一个强大而实用的对话框解决方案,尤其适合那些重视性能和用户体验的Web开发者。它的轻量级特性、丰富的样式选择以及对浏览器兼容性的关注,使其在JavaScript弹窗组件中脱颖而出。通过合理利用...
总的来说,这个代码库提供了一套完整的解决方案,用于创建美观且交互性强的JS树形菜单。对于想要在网页上实现类似功能的开发者来说,这是一个很好的学习和参考资源。通过研究和理解这些代码,不仅可以学会如何构建树...
CabloyJS是建立在EggBornJS基础上的JavaScript全栈开发平台,旨在提供高效、稳定的业务开发解决方案。这个平台融合了前端与后端的技术,使得开发者可以无缝地进行全栈式开发,提高开发效率,降低维护成本。 **...
标题 "asp.net中拍大头帖解决方案 (源码)" 提供了我们即将探讨的核心技术:ASP.NET,以及一个特定的应用场景,即实现大头贴拍摄功能。这通常涉及到图像处理、用户交互以及Web应用程序的设计。 描述 "为.rar,下载...
这个项目“jquery javascript .Net 图片截图”就是一种实现此类功能的解决方案。它结合了JavaScript库jQuery、JavaScript编程以及后端的.Net技术,来实现用户在浏览器中选择图片的一部分,并将其截图保存。 首先,...
在"References"中,可能包含了各种JavaScript基础知识的教程、实际项目代码、常见问题解决方案,以及流行库和框架的示例。通过这些资源,学习者可以逐步了解并熟练运用JavaScript进行Web开发,无论是初学者还是经验...