2010-08-10 6 views
0

수신 영역에 키오스크로 실행되는 HTA를 개발 중입니다. 이 키오스크는 window.open() 메소드를 사용하여 새 창을 시작하는 웹 페이지를 표시 할 수 있습니다.HTA에서 window.open (...)을 어떻게 감지합니까?

내가 원하는 것은 내 HTA 내에서 window.open()을 처리하므로 Internet Explorer 창을 생성하는 대신 HTA 내부의 부동 iframe에 새 창이 나타납니다.

내가 어떻게하는지에 대한 아이디어가 있습니까?

여기에 이상적인 시나리오를 보여주는 의사 코드가 있습니다 (실제 솔루션은 아마도 더 복잡 할 것입니다).

function onWindowDotOpen(obj) 
{ 
    spawnNewIframeTab(obj); // Handle the event in the HTA 
    return false; // Stop the default behaviour from firing 
} 

VBScript 솔루션이 있습니까?

+0

의 중복 가능성 [자바 스크립트 : 재정의 경고()] (http://stackoverflow.com/questions/1729501/javascript-overriding-alert)'경고를 (무시와 –

+1

속는 거래)'하지만 최우선' window.open()'은 똑같은 방식으로 작동해야합니다. –

답변

0

로드 된 IFRAME의 "window.open"을 재정 의하여 특정 문제를 해결했습니다. HTA에서이 작업을 수행 할 수 있지만 일반 브라우저에서는 작동하지 않습니다.

<iframe onload="iframe_onload(this)" src="..."...></iframe> 
<script type="text/javascript"> 
iframe_onload = function(obj) 
{ 
    $(obj).contents().get(0) 
    frame.frames.window.open = function(url, name, features, replace) 
    { 
     ... 
    } 
} 
</script> 
관련 문제