Wednesday, June 25, 2008

Creating an always on top web browser window

For one of the publications in the LearningGuide Manager we needed an 'always on top'-browser window with some information in it. The Learning Guides provide support information to end users. This information needs to stay on top while working on other software.

A normal browser window isn't suitable because you cannot make that always on top. In the past all kinds of hacks and workarounds were available, but tabbed browsing, increased security and the like make it impossible to do something from within the broser (I think ... if you think otherwise, please let me know).

The publications are HTML based and must run on every browser possible. In the past we used OCX-es to implement such features but with the increase in diversity of browsers another solution was needed, since there are only a few (...) browser that support OCX-es.

Here's what we did (I think it's kind of neat). We created a small application that is deployed on the client systems. This application does a lot of things, but also has a TIdHTTPServer which listens at the localhost of the client. It listens for special urls which can do special things.

One the commands is to open an always on top window which has a TWebBrowser component in it and will serve a passed url. E.g. an url like http://localhost/cgi-bin/show?http://www.google.com will popup an always on top window with the google website in it. There's a whole range of commands that can do special things - one's only limited to the imagination of the day.

Of course there are some measures to prevent abuse of this method (which I won't disclose here...) and in the end we have a platform and browser indepent solution to do all kinds of special things next to simply serve HTML files to the end user.

Bye,
Bart

No comments: