Войти

Показать полную графическую версию : [решено] Hta + vbs + js проблема с апдейтом innerHTML


csp
08-07-2015, 16:02
Никак не могу решить задачу апдейта или стирания предыдущего элемента что пишет скрипт в <p> или <body>
Прогресс бары не удалось прикрутить . Решил написать текстом, сколько скачалось мегабайт.
в hta



<p>Прогресс: <span id = "ProcessList"></span></p>


strHTML = ""

strComputer="."
ProcWatch="wget.exe"

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("Select * from Win32_Process Where Name ='" & ProcWatch & "'")
Do Until colProcesses.Count = 0

Set colProcesses = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name ='" & ProcWatch & "'")

Set objFolder = fso.GetFolder(strPath)

strHTML = strHTML & "<img src=""http://mysite.ru/img/1.gif"" /> Скачано " & Round((objFolder.Size/1048576),2) & " мегабайт из 260 <br />"
ProcessList.InnerHTML = strHTML
Sleep(3)

Loop



каждые 3 секунды чекает размер папки куда скачиваются файлы, и в <p> вписывается span с текстом многократно, в результате вылазия за пределы окна .hta
Чтобы удалить предыдущий span нужен js но нет eventa когда бы можно было его запустить

визуально это выглядит так


http://i69.fastpic.ru/big/2015/0708/4f/326752b0078f9a1866fac8bac8e8674f.jpg

а надо в 1 сообщении обновлять цифры. Просто это последнее что осталось сделать, а то оч некрасиво смотрится.

Iska
08-07-2015, 16:21
csp, Вы привели какой-то кусок кода. Покажите весь.

P.S. Никаких событий не нужно. И удалять ничего не нужно. Вы просто неправильно используете имеющиеся возможности.

csp
08-07-2015, 16:35
strHTML = strHTML & "Скачано "…

заменил на strHTML = "Скачано "…

и все ок

Iska
08-07-2015, 17:15
csp, попробуйте просто убрать выделенное:
strHTML = strHTML & "Скачано "…

А вообще такие вещи надо на timeout «вешать».




© OSzone.net 2001-2012