- 浏览: 314576 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (177)
- java基础空间 (12)
- java实例空间 (5)
- oracle积累空间 (22)
- JavaScript积累空间 (16)
- Spring基础空间 (10)
- Struts基础空间 (7)
- Hibernate基础空间 (2)
- java (10)
- EXT积累空间 (10)
- 电脑技术 (10)
- Flex技术点 (2)
- 金融业务 (3)
- DWR积累空间 (1)
- 常用工具记录 (7)
- 生活休闲 (25)
- web服务器 (6)
- java 报表工具 (6)
- SpringSide (1)
- 脑筋转弯 (2)
- java 错误聚集 (1)
- SqlServer集合 (6)
- DB2积累空间 (1)
- MySql记录集 (1)
- Log4j 日志使用 (1)
- 面试聚集 (2)
- jsp记录 (2)
- 原理类 (3)
- Excel VBA (1)
- ECMAScript6 (0)
最新评论
-
challengencu:
...
web服务器、应用服务器、http服务器区别 -
iris_1992:
开源报表写代码不烦吗。。。感脚现在国内报表还是帆软主导。。。
java pojo实体类做birt报表数据源 -
ab0809:
写得很好!!!!赞!
web服务器、应用服务器、http服务器区别 -
liuhu7383:
...
JavaScript动态添加Input组件 -
lovertc:
http://archive.eclipse.org/birt ...
BIRT 百灵 java web项目简单示例
引用
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控件进行初始化和脚本运行"----"启用"
/*** 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);//起始目录为:我的电脑 //var Folder = 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); } }
引用
自己写一个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" multiple ondblclick="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(","); for ( j = 0; j < folders.length -1; j++) { option = document.createElement("OPTION"); option.value = folders[j]; option.text = folders[j]; tableFolders.add(option); } } else { alert("无法改变当前内容!") } } else return false; } } } /**//* *table_folder双击选项中的一个选项,就将该文件夹下面的文件夹显示在table_folder列表中。 */ function get_file() { var tableFolders = document.getElementById("table_folder"); var tableDrives = document.getElementById("tables_drives"); for ( var i = 0; i < tableFolders.options.length; i++ ) { if ( tableFolders.options[i].selected == true ) { var fso, f, fc, s; var folderpath = tableFolders.options[i].value.substring(0,tableFolders.options[i].value.length); if ( folderpath.charAt(folderpath.length-1) == "\\" ) { document.getElementById("backDir").value = folderpath; } else { document.getElementById("backDir").value = folderpath + "\\"; } fso = new ActiveXObject("Scripting.FileSystemObject"); f = fso.GetFolder(folderpath); 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 opt = ""; var opt1 = ""; for ( j = 0; j < folderpath.split("\\").length; j++ ) { var option = document.createElement("OPTION"); opt = opt + folderpath.split("\\")[j]+"\\"; if ( j > 0) { opt1 = opt; option.value = opt1.substring(0,opt1.length-1); option.text = opt1.substring(0,opt1.length-1); tableFolders.add(option); } else { option.value = opt; option.text = opt; tableFolders.add(option); } } if ( tableFolders.options[0].value == tableFolders.options[1].value ) { tableFolders.options.remove(1); } if ( s != "" ) { var folders = s.split(","); for ( j = 0; j < folders.length -1; j++) { option = document.createElement("OPTION"); option.value = folders[j]; option.text = folders[j]; tableFolders.add(option); } } } } } </script>
发表评论
-
js实现文件上传预览功能
2016-06-15 11:33 709<div> 选择图片:<in ... -
检测浏览器是否安装flash插件以及版本
2012-11-07 17:52 2339function checkFlash(){ v ... -
利用css 和 js 实现遮罩层
2011-07-01 10:40 1490style="position:absolute ... -
Html 中 Lable标签的使用
2011-05-14 15:54 5189html中lable 标签的做用与用法 简单说,< ... -
JavaScript动态添加Input组件
2011-05-09 20:52 7298在遇到需要添加附件或者上传文件时,附件的数量可能不定的,所 ... -
Array使用
2010-05-06 12:24 985arrayObj.push(item1,item2,... ... -
JS中截取小数位并实现四舍五入的方法
2010-05-06 12:21 21651、作用:返回与给出的数值表达式最接近的整数。 语法:M ... -
div设置滚动条和滚动条颜色
2010-05-06 12:20 2453当div所定义的区域的内容达到一定程度时,在div标签里面 ... -
js对xml的操作
2010-04-08 10:20 1360[color=red]1.在js中同样有方法可以将字符串转 ... -
常用正则表达式写法
2010-04-07 14:44 11881.IP地址验证: var ip=/^(\d{1,2} ... -
js函数查询
2010-04-02 12:31 10631.查出最大的数 Math.max(2,35,643); -
网址集
2010-03-31 12:50 709正则表达式:http://www.iteye.com/topi ... -
jsLoader.js
2010-03-31 11:25 2945引用 jsLoader.js来管理页 ... -
js一般查阅处
2010-03-15 16:53 1114document.all['heading1'].style. ... -
js中event的记录
2010-03-15 16:41 1067引用 Event属性和方法: 1. type:事件的类型, ...
相关推荐
使用js实现文件夹选择功能,操作方便简单
总之,“js 文件夹选择框(三)”这个主题很可能涉及到了JavaScript实现文件夹选择功能的各种技术和策略,包括使用Web组件、插件交互以及处理文件系统访问的挑战。通过阅读完整的博客文章,你可以获得更详细的步骤和...
在JavaScript中,实现“窗口下文件夹选择”功能是一个常见的需求,尤其是在开发Web应用程序时,用户可能需要上传或处理整个文件夹的内容。由于浏览器的安全限制,JavaScript原生并不支持直接选择文件夹,但通过HTML5...
### JavaScript实现选择文件夹 在Web应用中,能够方便地让用户选择文件夹是一项非常实用的功能,尤其是在涉及到文件管理和上传的场景中。尽管HTML标准本身并没有提供直接选择文件夹的API,但通过结合JavaScript、...
总结起来,JavaScript实现文件夹选择框的功能并不是直接支持的,但可以通过一些特定的浏览器特性或者非标准属性来实现。开发者应当根据项目需求和目标浏览器的兼容性来选择合适的方案,并始终确保用户数据的安全。
本文档介绍了一个基于JavaScript的文件夹选择方法。该方法通过创建一个ActiveX对象(`Shell.Application`),利用其提供的方法`BrowseForFolder`来弹出系统文件夹选择对话框,并获取用户选定的文件夹路径。 #### 二...
综上所述,这段代码实现了使用JavaScript进行文件系统操作、图片浏览以及压缩文件夹的基本功能。需要注意的是,这些操作在现代浏览器环境下可能无法直接运行,因为安全策略限制了脚本对本地文件系统的访问权限。
在这一部分中,我们将深入探讨如何使用JavaScript实现新建文件夹的功能。首先,我们需要了解的是,由于浏览器的同源策略限制,通常我们不能使用JavaScript直接在用户的文件系统上创建文件夹。但是,如果配合HTML5的...
通过JavaScript实现的文件夹选择,可以使用户体验更加流畅,无需逐个选择大量文件。 总的来说,这个话题涵盖了JavaScript的DOM操作、事件处理、浏览器API的使用以及跨浏览器兼容性问题。通过学习这篇博客和查看提供...
这个文件包含了实现文件夹选择功能所需的所有脚本代码。 ```html <script src="browseFolder.js"> ``` 2. **定义函数browseFolder** 在`browseFolder.js`文件中定义一个名为`browseFolder`的函数,该函数用于...
下面将详细讲解如何利用JavaScript实现文件或文件夹的遍历与复制。 首先,理解JavaScript在浏览器环境中的限制是至关重要的。由于安全原因,JavaScript在浏览器中无法直接访问用户的文件系统,因此不能直接读取、...
### JavaScript遍历文件夹下的所有文件与目录 在JavaScript中,遍历文件夹下的所有文件与目录是一项常见的任务,尤其是在需要处理本地文件系统时。本文将详细介绍如何使用`Scripting.FileSystemObject`对象来实现这...
让我们深入探讨如何利用这些技术来实现“通过js获取本地文件夹中的文件列表”。 首先,我们要明确的是,JavaScript无法直接遍历本地目录,除非在特定的沙盒环境中,如使用Chrome的实验性File System Access API。这...
在本项目中,我们主要探讨的是一个利用JavaScript技术实现的交互式桌面效果,它具有可拖放、合并文件夹的功能,模拟了手机桌面的操作体验。这个效果是通过一个名为"jtop"的库来实现的,它使得网页界面能够动态响应...
本文将详细介绍一种通过JavaScript调用Windows Shell API来实现文件夹选择的方法,并在JSP页面上展示所选文件夹的路径。 #### 解决方案详解 ##### 1. 调用Windows Shell API 为了实现文件夹的选择,我们可以利用...
在描述中提到,“主要实现根据日期和时间js循环读取文件夹里面的图片”,这涉及到JavaScript的异步编程和文件操作。JavaScript通常不直接处理文件系统,而是通过服务器端的接口(如Node.js的fs模块)或API(例如Ajax...
在JavaScript实现的日期选择器中,关键知识点可能包括: 1. **事件监听**:利用`addEventListener`或`onclick`等方法响应用户的点击或滚动行为,触发相应的日期选取动作。 2. **DOM操作**:使用`document....
4. **JavaScript实现** - **事件监听**:使用`addEventListener`方法监听文件夹元素的点击事件。 - **事件处理函数**:在处理函数中,获取目标元素的子菜单,并根据当前的`display`属性切换其状态。通常,如果`...
### 浏览文件夹的JS代码解析与应用 在网页开发中,实现用户与本地文件系统的交互是一项重要的功能。本文将深入分析一个用于浏览器(包括IE和Firefox)中浏览文件夹的JavaScript代码,并探讨其工作原理及实际应用...