2008-10-08 176 views
6

我正在开发一个作为HTA实现的应用程序。我想要在系统的默认Web浏览器中打开一系列链接。无论使用默认浏览器,使用<a href="url" target="_blank">都会在IE中打开链接。如何在HTA的默认Web浏览器中打开链接?

有没有办法使用默认浏览器?使用JavaScript是一个选项。

回答

20

创建一个shell并尝试运行一个URL。

这适用于我(保存为whatever.hta并执行它)在我的系统上。点击该按钮在Firefox打开谷歌:

<!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> 
-1

不,不幸的是,我相信这是一个浏览器特定的实现,它将在同一个浏览器中打开target =“_ blank”的新链接。

如果您想在默认浏览器中打开它,那么您需要与操作系统进行交互,而JavaScript无法执行此操作。

+2

的JScript内的HTA获取对“本地”安全区域运行,因此它可以访问操作系统,包括ActiveX的多很多。 – ephemient 2008-10-09 01:20:53

+0

谢谢!我没有考虑过ActiveX ... – Mark 2008-10-09 01:28:48

相关问题