下面是我编写的原型代码,用于将特定文件夹中的文本文件的内容放入.hta文档的div中。
使用document.write我可以很容易地在文档上写,但我想把文本文件的内容写到特定的div。
当我尝试运行代码时,什么也没有发生。
<html>
<head>
<title>Notes</title>
<script language="vbscript">
Set fso = CreateObject("Scripting.FileSystemObject")
FileName = "C:\Documents and Settings\anamdev\Desktop\demo.txt"
Set fileObj = fso.GetFile(FileName)
Set ts = fileObj.OpenAsTextStream(1, -2)
Set objDiv = Document.getElementById("content")
objDiv = ts.ReadAll
Do While ts.AtEndOfStream <> True
TextLine = ts.ReadLine
Document.getElementById("content").innerHtml TextLine & "<br />"
Loop
ts.Close
</script>
</head>
<body>
<span id="head"></span>
<input type="button" value="Previous" name="pre" />
<input type="button" value="Next" name="nxt" />
<hr>
<div id="content">
</div>
</body>
</html>发布于 2013-06-22 15:45:33
Cheran answer是正确的(+1),我将只附加一些我在代码中看到的其他问题。
Set objDiv = Document.getElementById("content")
objDiv = ts.ReadAll以上是没有意义的。将Object设置为变量objDiv,并在下一行立即用String覆盖此变量。
无论如何,在ReadAll之后,你的TextStream已经达到了EOF,所以下一个循环什么也不做:
Do While ts.AtEndOfStream <> True
TextLine = ts.ReadLine
Document.getElementById("content").innerHtml TextLine & "<br />"
Loop而且赋值也是错误的。
Object.Property Value 'incorrect
Object.Property = Value 'correct简单地说,你可以这样做:
Set objDiv = Document.getElementById("content")
objDiv.innerHtml = ts.ReadAll
ts.Close发布于 2013-06-22 14:28:28
问题是<script>中的代码是在解析页面时执行的。这意味着在脚本运行时,"content“元素不存在。我预计你实际上会得到一个"Object required“错误,不管是什么原因都没有显示出来。
至少有两种方法可以解决这个问题:
</body>标记之前:window对象的onload事件处理程序中调用它:https://stackoverflow.com/questions/17246769
复制相似问题