关于javascript的FSO问题,求大神详解以下代码~~

问题描述

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>统计访问页面的人数</title><script type="text/javascript"> function total(path){var fso, tf, count;fso = new ActiveXObject("Scripting.FileSystemObject");if(!fso.FileExists(path)){tf = fso.CreateTextFile(path, true);tf.write("1");tf.Close(); } f = fso.OpenTextFile(path,1); count = Number(f.ReadLine()); //alert(count); f = fso.OpenTextFile(path,2); f.Write(count+1); document.getElementById("num").innerHTML = count; f.Close();}</script></head><body onload='total("c:\Visitor.txt")'>页面来访人数为:<span id="num"></span></body></html>

解决方案

你的代码仅仅只能在IE浏览器(360浏览器是基于IE内核的 所以360也可以运行)下面运行。 这个 ActiveXObject Scripting.FileSystemObjec 是IE内置的 ActiveX 调用这个可以访问本地文件,如果有什么不懂的,或者希望看到这个对象提供什么方法:参考文档:http://baike.baidu.com/view/347454.htm 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();//关闭文件流}希望能帮上忙
解决方案二:
用此方法,则相关的文件系统操作只能局限于基于IE内核的浏览器之中!
解决方案三:
用fso在你本地写一个文件,里面放入记数。每次有人访问时,文件中的数据++,将文件中的数字读出来,显示在id="num"的span里。

时间: 2024-09-19 06:55:14

关于javascript的FSO问题,求大神详解以下代码~~的相关文章

ios-iOS的GCD中的一点疑惑,求大神详解

问题描述 iOS的GCD中的一点疑惑,求大神详解 dispatch_queue_create(""队列名"",0),这个队列名有什么作为,创几个线程这个队列名,不管一样不一样,作用都一样 解决方案 ios-GCD详解iOS-GCD多线程编程详解5IOS GCD的使用详解

保留小数点位数-double保留小数点后两位的问题,跪求大神详解

问题描述 double保留小数点后两位的问题,跪求大神详解 图片下边为对应的后台代码. 图片中的合计怎么 小数点后边那么多位?求大神详解. private double heji1=0; private double heji2=0; private double heji3=0; private double heji4=0; public String get() throws Exception { this.init(); ruKu = dao.get(id); return SUCCE

编程c语言-C语言cmd自动写入,求大神详解

问题描述 C语言cmd自动写入,求大神详解 在程序中用system("cmd.exe");建立新的cmd窗口写入字符串并执行.怎样实现? 解决方案 system("cmd.exe /k 你的命令"); 写入字符串 system("cmd.exe /k echo 你的字符串"); 解决方案二: cmd /c 命令,或者cmd /k 命令.

求解-按学号查找的判断,求大神详解

问题描述 按学号查找的判断,求大神详解 下面是按照学号查找的一段代码,我想知道为什么要判断学号不等于?而且既然判断学号不等于0了,那么等于0就不判断了吗?求大神详解,万分感谢 public List<Xuesheng> getList(int xh) { String where=""; if(xh!=0) { where=where+" where xueHao="+xh+""; } return this.findAll(wher

officexp和office2007工具栏中的所有不同之处?求大神详解、、、、、

问题描述 officexp和office2007工具栏中的所有不同之处?求大神详解..... officexp和office2007工具栏中的所有不同之处?求大神详解..... 解决方案 首先,没有OfficeXP,如果你说的是MS Office的话,有Office97,Office2000, Office2003, Office2007, Office2010, Office2013,最新的版本没有这是发布. 其次,Office是一个总称,包含很多应用,包括Word, Excel, Power

js-点击这三个按钮可以跳出对话框 求大神告诉怎么写代码

问题描述 点击这三个按钮可以跳出对话框 求大神告诉怎么写代码 点击更多,可以跳出下面的更多内容,最好是下拉形态的,里面的字段是数据库里的 求大神看看怎么写 解决方案 你是要找人代做课程设计吗?你还是多看看课本吧! 解决方案二: 自己研究easyui这个jquery框架,有空间满足你的要求 第一个用detailview,其他2个dialog 解决方案三: 同意楼上说的,用easyui,列表的话可以用datagrid,最后操作那一列可以用代码拼接html字符串,在传回给页面. 另一种方式是用form

io流-求大神帮我将代码简化(本人还处在学习阶段,都是自学的)

问题描述 求大神帮我将代码简化(本人还处在学习阶段,都是自学的) package Test; import java.awt.BorderLayout; public class Ftest extends JFrame { private static final long serialVersionUID = 1L; private JPanel jContentPane = null; private JTextArea jTextArea = null; private JPanel c

编程-跪求大神帮忙看下代码,错了不晓得怎么改哦

问题描述 跪求大神帮忙看下代码,错了不晓得怎么改哦 switch (uMsg) { case WM_CHAR: char szChar[20]; sprintf(_T(szChar),_T( "char code is %d"), wParam); 错误 1 error C2065: "LszChar": 未声明的标识符 IntelliSense: "const wchar_t *" 类型的实参与 "const char *"

c++-C++ 求大神帮忙修改段代码,信息管理系统,把原有的类拆成四个派生类

问题描述 C++ 求大神帮忙修改段代码,信息管理系统,把原有的类拆成四个派生类 http://pan.baidu.com/s/1o69SUWq 这里面是头文件和源文件和说明 求大神帮帮忙 解决方案 链接不存在了 提供一个思路吧,也就把工作细分化.把功能具体化.举一个简单例子 假如有一个图书管理类. 你可以拆分为:借书类.还书类.查书类等,