Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

hta - Equivalents in Firefox, Chrome - Is this old technology?

I want to convert a webpage html5/js page to a desktop application. Something they can use on their desktop without a live internet connection. (I do not want to recode my html5 or js.)

If the end user has Internet Explorer installed, I can easily port this to an hta file. However, what if they are using Vista or above and have uninstalled Internet Explorer (as you are permitted to do)? What if their main browser is Firefox or Chrome?

I was searching around for Firefox, and it seemed Prism was an alternative to hta files, but if you go to Mozilla's Prism page it says it is a technology that is no longer being pursued.

So I have several questions:

  1. Is the hta file still a modern technology for Internet Explorer which is still going to work in IE9, IE10?
  2. Will hta files, with no security issues or local access issues, automatically fire up Firefox/Chrome if IE is not installed on Windows (or other operating systems)?
  3. Can I add some of html5's local storage stuff to my hta file and will it still work on IE, FF and Chrome?
  4. If these things will not work on FF or Chrome, do they have any alternatives which are modern and are not deprecated techs?
like image 437
Rewind Avatar asked May 16 '12 13:05

Rewind


3 Answers

Actually HTAs are not run by Internet Explorer. They are run by mshta.exe, which is installed in Windows/System32 (Windows7). However, HTAs use IE's rendering engine, and can't be run without IE. Also they are available for Windows users only.

HTML5 support can be added by using <meta http-equiv="x-ua-compatible" content="ie=9">. By my own experience also <!DOCTYPE html> is needed.

More info in MSDN: Introduction to HTAs

In SO: HTA's; use other browser to host?

like image 137
Teemu Avatar answered Oct 03 '22 18:10

Teemu


I'd say that .hta applications are way out of date since they don't support modern design standards. you can still use them or use another HTML Compilers like the one by David Esperalta, it's good enough for very simple apps, but they all depend on IE and we all know how limited and slow it is.

Modern Alternatives:

  • NW.js (previously known as node-webkit)
  • electron which I personally use and recommend.

both mentioned options are based on Chromium (same as Chrome), Node.js and V8. they support HTML5, CSS3 and latest JavaScript engine including latest ECMAScript features and beyond!

and since they use node.js you can use any of its built-in libraries (like FileSystem) or any of npm packages right in your DOM!

The npm registry hosts over a quarter million packages of reusable code — the largest code registry in the world.

both options are FREE and open sourced but electron supports ffmpeg codecs without downloading or building them.

  • both options now support ffmpeg out of the bag.

your app will be 100% standalone and you can build same app for Windows, macOS and Linux.

electron can also provide simple solutions to automatically compile and use CoffeeScript, Babel, LESS, SASS and more.

Downsides:

• You'll always have to ship the whole thing with you application since there's no run-time solution and you'll end up with a relatively big package.

• startup time is less than ideal for some applications

• although there is some methods to make it harder but your code will be available for anyone with an idea of what they are doing.


2021 Update

electron and nwjs are just as viable as ever but if you're looking for a more lightweight UI I'd also recommend Sciter.JS it made big leaps in recent updates and it does not ship a whole browser with your application, the developer seems committed to follow up-to-date HTML/CSS/JS Standards with some nice additions. it comes with good collections of samples to get you started. and prebuilt binaries for major OS editions. one thing to note is that it uses QuickJS instead of Node.js if that matters to you.

I've been following its development closely and I recommend trying it.

like image 34
Maher Fattouh Avatar answered Oct 03 '22 20:10

Maher Fattouh


1.Is the hta file still a modern technology for Internet Explorer which is still going to work in IE9, IE10?

Most likely yes. The underlying technology is based on embedding the IE browser control as an activex object. Even if mshta was no longer distributed with windows a replica could still be created using c# and the browser control.

2.Will hta files, with no security issues or local access issues, automatically fire up Firefox/Chrome if IE is not installed on Windows (or other operating systems)?

Nope, although the .hta extension can be associated with those browsers, the mshta directives are not supported by either - the result is that the browser prompts you to save the document as an external file like an exe or zip file would.

3.Can I add some of html5's local storage stuff to my hta file and will it still work on IE, FF and Chrome?

Yes you can add html5 support, but again it will only work on IE.

4.If these things will not work on FF or Chrome, do they have any alternatives which are modern and are not deprecated techs?

Adobe produced a competing product called Adobe AIR - http://www.adobe.com/products/air.html. This product offers a limited intersection of features available in hta's. Local file access is restricted to a specific path, and generally access to the parent operating system is very restricted. However they do operate across all major platforms, including mobile devices, so they are probably the technology you are looking for. AIR uses webkit for the embedded browser engine.

like image 39
Marcus Pope Avatar answered Oct 03 '22 19:10

Marcus Pope