<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
你的代码仅仅只能在IE浏览器(360浏览器是基于IE内核的 所以360也可以运行)下面运行。
这个 ActiveXObject Scripting.FileSystemObjec 是IE内置的 ActiveX 调用这个可以访问本地文件,如果有什么不懂的,或者希望看到这个对象提供什么方法:
参考文档:
[url]http://baike.baidu.com/view/347454.htm[/url]
[code="javascript"]
function total(path){//path 为传入的文件路径
var fso, tf, count;//声明变量
fso = new ActiveXObject("Scripting.FileSystemObject");//创建 ActiveX 对象
if(!fso.FileExists(path)){// FileExists 这个方法判断文件是否存在如果不存在
tf = fso.CreateTextFile(path, true);//调用 CreateTextFile 方法创建文件,这个方法有个重载(就是这个方法可以接受2个参数的,可以接受1个参数的)最后一个true表示这个文件如果存在,就覆盖这个文件
tf.write("1");//写文件为1
tf.Close();//关闭这个文件流
}
f = fso.OpenTextFile(path,1);// OpenTextFile有个重载和 CreateTextFile方法类似,1在js中可以隐式转换为true
count = Number(f.ReadLine());//调用ReadLine 读取文件中的数据,然后用了一个Number来转换为数字
//alert(count);
f = fso.OpenTextFile(path,2);
f.Write(count+1);//把累加的值在重写回去
document.getElementById("num").innerHTML = count;//把这个值写入到一个dom对象中
f.Close();//关闭文件流
}[/code]
希望能帮上忙
用fso在你本地写一个文件,里面放入记数。每次有人访问时,文件中的数据++,将文件中的数字读出来,显示在id="num"的span里。
用此方法,则相关的文件系统操作只能局限于基于IE内核的浏览器之中!