小弟有下面几行简单的javascript代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> Test </title>
</head>
<body>
<h1></h1>
<p style="font-family:verdana;font-size:110%;color:Black">Good luck!</p>
<Font=Verdana></Font>
<form action="somepage.asp">
<input type="button" value="Test" name="BtnRead"/>
</form>
</body>
</html>
<script language="JavaScript" type="text/javascript">
var ForReading = 1; //以只读方式打开文件。
var ResetPointer = 0; //重置指针.
var sfnstr = "J:\\data.txt"; //指定文件
var fso = new ActiveXObject("Scripting.FileSystemObject");
var sfo = fso.OpenTextFile(sfnstr,ForReading,true,0);
var BtnRead=document.forms[0].elements["BtnRead"]
//读取按钮
BtnRead.onclick=function(){
ReadAndWrite();
}
//读取一行
function ReadAndWrite(){
if(ResetPointer == 1)
{
var sfo = fso.OpenTextFile(sfnstr,ForReading,false,0);
}
if(!sfo.AtEndOfStream)
{
var sfl = sfo.ReadLine();
alert(sfl);
}else{
sfo.Close();
alert("End!");
}
}
</script>
但运行的时候,总提示 sfo.AtEndOfStream 的sfo为空,但是如果把以下3行注释掉,就没问题了。我曾试过在以下3行内加alert("Here")测试,发现程序并没有运行以下3行的内容:
if(ResetPointer == 1)
{
var sfo = fso.OpenTextFile(sfnstr,ForReading,false,0);
}
这是什么原因?请不吝赐教啊!
--
FROM 132.166.20.*