Динамически изменять свойства окна HTA - PullRequest
2 голосов
/ 20 декабря 2011

В моем HTA я держу его открытым, если произошла ошибка, и закрываю его, если все прошло успешно.В начале у меня свойство sysmenu установлено на no, потому что я не хочу, чтобы пользователь закрывал HTA до его завершения.В конце я хочу, чтобы они могли нажать на кнопку закрытия.Вот что я набрал, чтобы попытаться добиться этого, но это не сработало?Я подозреваю, что мне нужно что-то сделать, чтобы HTA обновил свойства Windows?

Обратите внимание, что любое решение, которое полностью перезагружает окно и / или снова запускает скрипт, неприемлемо

If Not bHoldOpen Then
    Call window.close
Else
    Dim tagHTA
    Set tagHTA = document.getElementsByTagName("hta:application").item(0)
    Call tagHTA.setAttribute("sysmenu","yes")
End If

1 Ответ

2 голосов
/ 20 декабря 2011

Вы не можете изменить его во время выполнения, он доступен только в блоке HTA:, так как его значение используется для определения того, как физическое окно должно быть изначально создано.

Я думал, что вы можете создать предупреждение, используясобытие onBeforeUnload и вызов cancelBubble, чтобы прервать закрытие, но я пробовал его в IE8, и он все еще кажется ошибочным;http://support.microsoft.com/kb/946214.

Вероятно, пользователю было бы проще и легче понять, если бы вы просто показывали кнопку «Закрыть», когда процесс завершен.

...