动态更改HTA窗口属性

时间:2011-12-20 17:10:43

标签: dom vbscript hta

在我的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 个答案:

答案 0 :(得分:2)

您无法在运行时更改它,它仅在HTA:块中可用,因为其值用于确定最初如何创建物理窗口。

我认为您可以使用onBeforeUnload事件&调用cancelBubble来中止关闭,但我在IE8中尝试了它,它似乎仍然被窃听; http://support.microsoft.com/kb/946214

如果您在过程完成时只是取消隐藏“关闭”按钮,用户可能会更容易理解。