views:

1288

answers:

2

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.

A: 

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
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
Thanks! I did not consider ActiveX...
Mark
+4  A: 

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"&gt;
<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>
insin
Thanks. That's perfect.
Joel Anair