2011-12-20 2 views
2

내 HTA에서 오류가 발생하면 열어두고 모든 것이 성공적으로 끝나면 닫습니다. 처음에는 완료 될 때까지 사용자가 HTA를 닫지 않기 때문에 sysmenu 속성을 no으로 설정했습니다. 마지막으로 닫기 버튼을 클릭 할 수있게하려고합니다. 이것을 달성하기 위해 타이핑 한 내용이 있지만 작동하지 않는 것 같습니다. HTA에서 창 속성을 새로 고치려면해야 할 일이 있는지 의심 스럽습니까?동적으로 HTA 창 속성 변경

완전히 창을 다시로드 및/또는 스크립트를 다시 실행할 수있는 솔루션

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 

답변

2

당신과 HTA: 블록에 그에만 사용할 수 런타임에 변경할 수 없습니다 허용되지 않습니다주의하시기 바랍니다 그 값은 물리적 창을 처음 생성하는 방법을 결정하는 데 사용됩니다.

나는 당신이 가까이 중단하는 onBeforeUnload 이벤트를 & 전화 cancelBubble를 사용하여 경고를 생성 할 수 있다고 생각하지만, 나는 IE8에서 그것을 시도하고 그것은 여전히 ​​도청 것 같다; http://support.microsoft.com/kb/946214.

프로세스가 완료되었을 때 "닫기"버튼을 숨기기 만했다면 사용자가 쉽게 이해할 수 있습니다.

+1

+1, [documentation] (http://msdn.microsoft.com/en-us/library/ms536492%28VS.85%29.aspx)에는'sysMenu' 속성이 읽기 전용이며 이는 초기로드 후에 변경 될 수 없음을의 L합니다. –