如何在 HTA 的默认 Web 浏览器中打开链接?

IT技术 javascript browser hta
2021-02-20 04:41:07

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

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

2个回答

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

这对我有用(保存为whatever.hta并执行它)在我的系统上。单击该按钮会在 Firefox 中打开 Google:

<!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>
@Siyah HTA 使用 IE 引擎运行:en.wikipedia.org/wiki/HTML_Application#Execution
2021-04-24 04:41:07
我想下载我使用 blob 创建的文件。如何在 HTA 中做到这一点。它在 chrome 中运行良好。但在 HTA 中给出错误“拒绝访问”
2021-04-25 04:41:07
这仅在 IE 中实现时才有效。不适用于 Chrome 或 Firefox。
2021-05-05 04:41:07

不,遗憾的是我相信这是一个浏览器特定的实现,它将在同一浏览器中打开带有 target="_blank" 的新链接。

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

HTA 中的 JScript 可以在“本地”安全区域中运行,因此它可以访问更多的操作系统,包括 ActiveX。
2021-05-05 04:41:07