Javascript WinPE-从保存的文本文件填充HTA文本区域
我有一个在WinPE下运行的批处理文件,程序在运行时创建并更新一个文本文件。我想使用HTA创建一个简单的“前端”,在更新时显示徽标和文本文件。 我已经显示了徽标,并且有一个文本区域来显示文本文件的内容。。但是,它不会随着文本文件的更改而更新 这是迄今为止我的HTA代码Javascript WinPE-从保存的文本文件填充HTA文本区域,javascript,html,Javascript,Html,我有一个在WinPE下运行的批处理文件,程序在运行时创建并更新一个文本文件。我想使用HTA创建一个简单的“前端”,在更新时显示徽标和文本文件。 我已经显示了徽标,并且有一个文本区域来显示文本文件的内容。。但是,它不会随着文本文件的更改而更新 这是迄今为止我的HTA代码 <html> <head> <title>Live Text Display</title> <HTA:APPLICATION ID
<html>
<head>
<title>Live Text Display</title>
<HTA:APPLICATION
ID=“Display”
APPLICATIONNAME="Display"
SCROLL="no"
SINGLEINSTANCE="yes"
MAXIMIZEBUTTON="no"
MINIMIZEBUTTON="no"
WINDOWSTATE="MAXIMIZE"
>
<style>
img {
width: 45%;
height: 25%;
}
textarea {
width: 100%;
height: 75%;
margin: 0 auto;
padding: 0;
border-width: 0;
text-align: center;
font-size: 18px;
overflow: hidden;
resize: none;
background-color: yellow;
border: none;
}
</style>
</head>
<script language="VBScript">
Option Explicit
Dim oFSO, oFile, pFSO, pFile, pText, TEXT
sub Window_onload
on error resume next
RefreshList
iTimerID = window.setInterval("RefreshList", 1000)
end sub
SUB RefreshList
SET oFSO=CreateObject("Scripting.FileSystemObject")
SET oFILE=oFSO.OpenTextFile("HTA.TXT",1)
TEXT=oFILE.ReadLine
TEXT=Trim(TEXT)
document.all.logo.src=TEXT & "\LOGO.JPG"
oFILE.Close
SET pFSO=CreateObject("Scripting.FileSystemObject")
SET pFile=pFSO.OpenTextFile(TEXT & "\PROGRESS.TXT",1)
pText=pFile.ReadAll
document.all.ScriptArea.InnerText=pText
pFile.Close
END SUB
</script>
<body>
<p style="text-align:center">
<br><img id="logo" width="900" height="150"><br><br>
<textarea name="ScriptArea" rows="12"></textarea>
</p>
</body>
</html>
及
要获取要显示的更新。。两者都不起作用
我包括了一个刷新计时器,每1秒运行一次RefreshList子例程
任何帮助都将不胜感激,因为我正在疯狂地试图弄明白这一点
问候
更新: 我现在有一个问题,当从批处理程序调用HTA时,批处理程序将暂停,直到我实际关闭HTA为止,这将导致进度文件没有更新
有人知道为什么批处理文件命令在HTA打开时挂起吗?元素选择器、属性和方法区分大小写。使用
.value
,全部小写,修改文本区域的值。也可以使用其他DOM选择器document.getElementsByTagName('textarea')[0]。value=pText
,或者您可以给textarea一个id,然后document.getElementById('scriptArea')。value=pText
。感谢您的回复,但是即使尝试案例更改和您提供的其他两个选项,textarea仍然没有更新,这几乎就像设定间隔不起作用一样。好的,干杯,谢谢你的帮助。。看起来我需要做更多的研究。看来我弄错了。很抱歉。如果我有时间的话,我会更深入地研究你的问题。我找到了解决的办法。这取决于如何从批处理文件运行HTA。如果以“mshta.exe Image.hta”的形式运行,则批处理文件中的所有其他命令都将挂起,直到Image.hta完成。但是,如果以“Start mshta.exe Image.hta”的形式运行,则批处理文件中的命令将继续与hta一起运行。元素选择器、属性和方法区分大小写。使用.value
,全部小写,修改文本区域的值。也可以使用其他DOM选择器document.getElementsByTagName('textarea')[0]。value=pText
,或者您可以给textarea一个id,然后document.getElementById('scriptArea')。value=pText
。感谢您的回复,但是即使尝试案例更改和您提供的其他两个选项,textarea仍然没有更新,这几乎就像设定间隔不起作用一样。好的,干杯,谢谢你的帮助。。看起来我需要做更多的研究。看来我弄错了。很抱歉。如果我有时间的话,我会更深入地研究你的问题。我找到了解决的办法。这取决于如何从批处理文件运行HTA。如果我以“mshta.exe Image.hta”的形式运行,则批处理文件中的所有其他命令都将挂起,直到Image.hta完成,但是如果我以“Start mshta.exe Image.hta”的形式运行,则批处理文件中的命令将继续与hta一起运行。
document.all.ScriptArea.InnerText=pText
document.all.ScriptArea.Value=pText