2008-10-08 4 views
6

저는 HTA로 구현 된 응용 프로그램을 만들고 있습니다. 시스템의 기본 웹 브라우저에서 열어보고 싶은 일련의 링크가 있습니다. <a href="url" target="_blank">을 사용하면 기본 브라우저와 상관없이 IE에서 링크가 열립니다.HTA에서 기본 웹 브라우저의 링크를 열려면 어떻게해야합니까?

기본 브라우저를 사용할 방법이 있습니까? JavaScript 사용은 옵션입니다.

답변

20

셸을 만들고 URL을 실행하십시오.

이것은 내 시스템에서 (whatever.hta로 저장하고 실행) 나를 위해 작동합니다. HTA는 "로컬"보안 영역에서 실행 얻을 수

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html lang="en"> 
<head> 
    <title>HTA Test</title> 
    <hta:application applicationname="HTA Test" scroll="yes" singleinstance="yes"> 
    <script type="text/javascript"> 
    function openURL() 
    { 
     var shell = new ActiveXObject("WScript.Shell"); 
     shell.run("http://www.google.com"); 
    } 
    </script> 
</head> 
<body> 

<input type="button" onclick="openURL()" value="Open Google"> 

</body> 
</html> 
+2

이것은 IE에서 구현 된 경우에만 작동합니다. Chrome이나 Firefox에는 없습니다. – Siyah

+0

@Siyah HTA는 IE 엔진을 사용하여 실행됩니다. http://en.wikipedia.org/wiki/HTML_Application#Execution –

+0

BLOB를 사용하여 만든 파일을 다운로드하고 싶습니다. HTA에서하는 방법. 그것은 크롬에서 잘 작동합니다. 그러나 HTA에서 "Access Denied"오류가 발생합니다. – user2095748

-1

아니요, 슬프게도이 브라우저는 동일한 브라우저에서 target = "_ blank"와 (과)의 새로운 링크를 열어주는 브라우저 특정 구현이라고 생각합니다.

기본 브라우저에서 열려면 JavaScript로 수행 할 수없는 OS와 상호 작용해야합니다.

+2

JScript의 내부에, 그래서 액티브 X를 포함한 OS의 더 많은 액세스 할 수 있습니다 버튼을 클릭하면 파이어 폭스에서 구글을 엽니 다. – ephemient

+0

고마워요! 내가 ActiveX를 고려하지 않았다 ... – Mark

관련 문제