Joe Maller: JavaScript

JavaScript tutorials and resources including rollovers, browser detection, spam-prevention and bookmarkets.

I first stumbled onto Javascript in a preview release of Netscape 3 back in the internet dark ages of 1996. I had been playing with AppleScript for a while, making art projects relating to compters. Happy as I was with those, web-based scripting was obviously a better solution. JavaScript meant an almost unlimited audience that could experience my ideas, regardless of platform or installed components.

The Single Image Rollover was the first thing I figured out. Five years later, it's still the most visited page on my site. The other scripts linked here all grew from that first page and the overwhelming positive response I've received from people all over the world.

Single image rollover

The basic image rollover that started it all. If you are new to JavaScript Rollovers, start here for a good explanation of the concepts. All my other Rollovers build on this one.

Go to the Single Image Rollover...

Translation Bookmarklets

A set of JavaScript bookmarkets which open a translated copy of a web page in a new window.

Go to the Translation Bookmarklets...

Protect your e-mail address

Protect your e-mail from Spam

Including e-mail links in your web page can lead to mountains of Spam. This page shows how Javascript can shield your e-mail address from Spam-Bots but still work perfectly for human visitors. Detailed tutorial including examples and source code..
Protect your e-mail with Javascript...

Browser Detection

Thankfully, this isn't as much of an issue as it used to be. Use JavaScript to detect properties of visiting browsers.

Go to JavaScript Browser Detection...

Javascript Back Buttons

A simple example of how to access a user's browser history.

Useful Javascript Links

Netscape's Client-Side Javascript Reference - I usually go straight to the index. This site answers most of my questions with concise definitions and quick examples.

Netscape's Client-Side JavaScript Guide - I don't find this as useful as the reference, but it provides more in-depth details of the Javascript language and how and why it works.

Those two links have been around since Javascript was first released. However they are also the reason I stopped using Netscape. Many examples stopped working in Netscape and several do not work, either in Netscape or Explorer. This frustration is one of the things that continually pushes me away from Javascript and other new web technologies in favor of rigid standards. The role of web author means being an artchitect and a mechanic, as well as a designer and author. Pages need maintenance, but pages built well should work forever. Strict adherence to web statndards is one way to accomplish this, even if it means some of the nifty new bells and whistles won't work.

Javascript Intro by Voodoo - This is the site that got me started. As a testament to it's value, this site has been translated into more than a dozen languages.

Usage and Disclaimer

If you find these scripts useful, please please credit me by linking to my site: That way other people can share this information too.

By using these scripts, you agree not to hold me liable for any potential damage or loss of productivity. I am not a trained programmer. These scripts work to the best of my ability and the explanations are offered for educational purposes only. If your computer becomes self-aware, reads lips, or starts to develop a tic-tac-toe fetish, it's not my fault and there is no one in this bunker.


I get a lot of e-mail about these scripts. Unfortunately I do not have time to answer every one.

I wish I could help everyone who writes me with problems or questions, but I just don't have that much time. I do read all my e-mail, and enjoy hearing from people about how they are using the scripts. Occasionally I will answer questions if I have time.

If you need help and/or would like to hire me as a consultant, drop me a note and we can discuss possible arrangements.

Links to Scripts in Use

I would like to compile a list of links to pages using JavaScript code from this site. If would like your page to be included, please send me a note: .

page last modified: October 23, 2017
Copyright © 1996-2003 Joe Maller