一、功能实现核心:FileSystemObject 对象 要在java-script中实现文件操作功能,主要就是依靠FileSystemobject对象。
二、FileSystemObject编程 使用FileSystemObject 对象进行编程很简单,一般要经过如下的步骤: 创建FileSystemObject对象、应用相关方法、访问对象相关属性 。 (一)创建FileSystemObject对象 创建FileSystemObject对象的 代码只要1行: var fso = new ActiveXObject("Scripting.FileSystemObject"); 上述代码执行后,fso就成为一个FileSystemObject对象实例。
(二)应用相关方法 创建对象实例后,就可以使用对象的相关方法了。比如,使用CreateTextFile方法创建一个文本文件: var fso = new ActiveXObject("Scripting.FileSystemObject"); var f1 = fso.createtextfile("c:\\myjstest.txt",true"); (三)访问对象相关属性 要访问对象的相关属性,首先要建立指向对象的句柄,这就要通过get系列方法实现:GetDrive负责获取驱动器信息,GetFolder负责获取文件夹信息,GetFile负责获取文件信息。
比如,指向下面的代码后,f1就成为指向文件c:\test.txt的句柄: var fso = new ActiveXObject("Scripting.FileSystemObject"); var f1 = fso.GetFile("c:\\myjstest.txt"); 然后,使用f1访问对象的相关属性。比如: var fso = new ActiveXObject("Scripting.FileSystemObject"); var f1 = fso.GetFile("c:\\myjstest.txt"); alert("File last modified: " + f1.DateLastModified); 执行上面最后一句后,将显示c:\myjstest.txt的最后修改日期属性值。
但有一点请注意:对于使用create方法建立的对象,就不必再使用get方法获取对象句柄了,这时直接使用create方法建立的句柄名称就可以: var fso = new ActiveXObject("Scripting.FileSystemObject"); var f1 = fso.createtextfile("c:\\myjstest.txt",true"); alert("File last modified: " + f1.DateLastModified); 三、操作驱动器(Drives) 使用FileSystemObject对象来编程操作驱动器(Drives)和文件夹(Folders)很容易,这就象在Windows文件浏览器中对文件进行交互操作一样,比如:拷贝、移动文件夹,获取文件夹的属性。 (一)Drives对象属性 Drive对象负责收集系统中的物理或逻辑驱动器资源内容,它具有如下属性: l TotalSize:以字节(byte)为单位计算的驱动器大小。
l AvailableSpace或FreeSpace:以字节(byte)为单位计算的驱动器可用空间。 l DriveLetter:驱动器字母。
l DriveType:驱动器类型,取值为:removable(移动介质)、fixed(固定介质)、network(网络资源)、CD-ROM或者RAM盘。 l SerialNumber:驱动器的系列码。
l FileSystem:所在驱动器的文件系统类型,取值为FAT、FAT32和NTFS。 l IsReady:驱动器是否可用。
l ShareName:共享名称。 l VolumeName:卷标名称。
l Path和RootFolder:驱动器的路径或者根目录名称。 (二)Drive对象操作例程 下面的例程显示驱动器C的卷标、总容量和可用空间等信息: var fso, drv, s =""; fso = new ActiveXObject("Scripting.FileSystemObject"); drv = fso.GetDrive(fso.GetDriveName("c:\\")); s += "Drive C:" + " - "; s += drv.VolumeName + "\n"; s += "Total Space: " + drv.TotalSize / 1024; s += " Kb" + "\n"; s += "Free Space: " + drv.FreeSpace / 1024; s += " Kb" + "\n"; alert(s); 四、操作文件夹(Folders) 涉及到文件夹的操作包括创建、移动、删除以及获取相关属性。
Folder对象操作例程 : 下面的例程将练习获取父文件夹名称、创建文件夹、删除文件夹、判断是否为根目录等操作: var fso, fldr, s = ""; // 创建FileSystemObject对象实例 fso = new ActiveXObject("Scripting.FileSystemObject"); // 获取Drive 对象 fldr = fso.GetFolder("c:\\"); // 显示父目录名称 alert("Parent folder name is: " + fldr + "\n"); // 显示所在drive名称 alert("Contained on drive " + fldr.Drive + "\n"); // 判断是否为根目录 if (fldr.IsRootFolder) alert("This is the root folder."); else alert("This folder isn't a root folder."); alert("\n\n"); // 创建新文件夹 fso.CreateFolder ("C:\\Bogus"); alert("Created folder C:\\Bogus" + "\n"); // 显示文件夹基础名称,不包含路径名 alert("Basename = " + fso.GetBaseName("c:\\bogus") + "\n"); // 删除创建的文件夹 fso.DeleteFolder ("C:\\Bogus"); alert("Deleted folder C:\\Bogus" + "\n"); 五、操作文件(Files) 对文件进行的操作要比以上介绍的驱动器(Drive)和文件夹(Folder)操作复杂些,基本上分为以下两个类别:对文件的创建、拷贝、移动、删除操作和对文件内容的创建、添加、删除和读取操作。下面分别详细介绍。
(一)创建文件 一共有3种方法可用于创建一个空文本文件,这种文件有时候也叫做文本流(text stream)。 第一种是使用CreateTextFile方法。
代码如下: var fso, f1; fso = new ActiveXObject("Scripting.FileSystemObject"); f1 = fso.CreateTextFile("c:\\testfile.txt", true); 第二种是使用OpenTextFile方法,并添加上ForWriting属性,ForWriting的值为2。代码如下: var fso, ts; var 。
<script type="text/javascript">
/*
FileExists(filepath)是验证文件是否存在的方法,filepath是文件路径
OpenTextFile,第二个参数有三种方式,都是常量:
ForReading=1 以只读方式打开文件。 不能写这个文件。
ForWriting=2 以写方式打开文件
ForAppending= 8 打开文件并从文件末尾开始写。
*/
var oFso,oFile,sFile,sContent;
sFile = "c:\\luckty.txt";
//写文件
oFso = new ActiveXObject("Scripting.FileSystemObject");
oFile = oFso.OpenTextFile(sFile,2,true); //写方式打开
oFile.WriteLine("菩提本无树,明镜亦非台,本来无一物,何处惹尘埃!");
oFile.Close();
//读文件
oFile = oFso.OpenTextFile(sFile,1); //只读方式打开
sContent = oFile.ReadLine();
oFile.Close();
document.write(sFile + "文件内容为:<br/><br/>" + sContent);
</script>
</head>
function browseFolder(path) { try { var Message = "请选择文件夹"; //选择框提示信息 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); }} 使用的时候:
浏览器需要权限,即数字签名认证。
无法获取本地文件的绝对路径,这里涉及到一个浏览器安全问题。
// 选择文件 function changefile () { var e = this; // 修正ie8下,文件上传异常 var files = e.files; if (files == undefined) { return false; } // 取得选择文件相关数据信息 var file = files[0], filename = file.name, filesize = file.size; // 获取文件后缀名 var filetype = filename.substr(filename.lastindexof(".")).tolowercase(); }。
试试这样可不可行
<script src="/uploads/shbk/1.js" type="text/javascript"></script>
<script type="text/javascript">
var aaa1=aaa;
</script>
<script src="/uploads/shbk/2.js" type="text/javascript"></script>;如果调用1.js的aaa时则用aaa1();
调用2.js的aaa时用aaa();
js获取元素方法有:
1、getElementById :根据指定的 id 属性值得到对象。返回 id 属性值等于 sID 的第一个对象的引用。假如对应的为一组对象,则返回该组对象中的第一个。
2、getElementsByName:getElementsByName(name)该方法与 getElementById() 方法相似,但是它查询元素的 name 属性,而不是 id 属性。
另外,因为一个文档中的 name 属性可能不唯一(如 HTML 表单中的单选按钮通常具有相同的 name 属性),所以getElementsByName() 方法返回的是所有匹配元素组成的数组,而不是一个元素。
3、getElementsByTagName:getElementsByTagName() 方法会使用指定的标签名返回所有的元素(作为一个节点列表),这些元素是您在使用此方法时所处的元素的后代。
getElementsByTagName() 可被用于任何的 HTML 元素
如果把特殊字符串 "*" 传递给 getElementsByTagName() 方法,它将返回文档中所有元素的列表,元素排列的顺序就是它们在文档中的顺序。
传递给 getElementsByTagName() 方法的字符串可以不区分大小写。
其一,没有使用任用的辅助扩展库
var1 = document.getElementById ("那个testbox的ID");//获取该textbox对象
var test = var1.value; //取得其值
//test 就是你想要的值了
其二,使用辅助扩展库,如jquery.js, 不过你得先引用这份扩展文件
如:<script type="text/javascript" src="/uploads/shbk/jquery.js"></script>
var test = $("#testbox的ID").val();
//test 就是你想要的值了
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:2.985秒