Dom 动态更改HTA窗口属性

Dom 动态更改HTA窗口属性,dom,vbscript,hta,Dom,Vbscript,Hta,在我的HTA中,如果发生错误,我将其保持打开状态,如果一切顺利,则将其关闭。首先,我将sysmenu属性设置为no,因为我不希望用户在HTA完成之前关闭它。最后,我希望他们能够点击关闭按钮。这是我为实现这一目标而键入的内容,但它似乎不起作用?我想我需要做些什么来让HTA刷新它的windows属性 请注意,任何完全重新加载窗口和/或使脚本再次执行的解决方案都是不可接受的 If Not bHoldOpen Then Call window.close Else Dim tagHTA

在我的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

您不能在运行时更改它,它仅在
HTA:
块中可用,因为它的值用于确定初始创建物理窗口的方式

我以为您可以使用
onbeforeuload
事件&call
cancelBubble
来中止关闭操作,但我在IE8中尝试过,它似乎仍然存在错误

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

+1,说明
sysMenu
属性是只读的,这意味着在初始加载后无法更改它。