11

I'm working on an application that is implemented as an HTA. I have a series of links that I would like to have open in the system's default web browser. Using <a href="url" target="_blank"> opens the link in IE regardless of the default browser.

Is there a way to use the default browser? Using JavaScript is an option.

Joel Anair
  • 13,248
  • 3
  • 28
  • 35

2 Answers2

29

Create a shell and attempt to run a URL.

This works for me (save as whatever.hta and execute it) on my system. Clicking on the button opens Google in 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>
Jonny Buchanan
  • 58,371
  • 16
  • 137
  • 146
-1

Nope, sadly I believe this is a browser specific implementation that will open new links with target="_blank" within the same browser.

If you wanted to open it in the default browser, then you would need to interact with the OS, which JavaScript cannot do.

Mark
  • 14,302
  • 17
  • 94
  • 158
  • 2
    JScript inside an HTA gets to run in the "Local" security zone, so it can access a lot more of the OS, including ActiveX. – ephemient Oct 09 '08 at 01:20