Imagemaps allow the user to click on predefined sections of a
graphic picture on your page and have the server respond as if
they clicked on a text hyperlink.
FrontPage users:
If you have the FrontPage extensions installed
in your account, you do not need to worry about
client-side or server-side imagemaps. FrontPage does
everything for you. FrontPage has a built-in imagemap
editor which you can use to map out your 'hot spots' and
it automatically generates client-side and server-side
code for you. |
Client-side Imagemaps (recommended method)
Client-side imagemaps do not require the presence of a
server-side script in order to interpret the coordinates of the
"hot" regions of your multi-clickable image. The
client-side imagemap is much more efficient than the server-side
imagemap and it allows the visitor to see the actual URL
associated with the mapped regions in the status bar of their web
browser.
- Download a mapping program to create a map file based on
the desired image. The map file will contain the
coordinates of each clickable region. We recommend MapEdit (PC)
and WebMap
(Mac), but other
imagemapping tools may also be available.
- Map out the hotspots using one of these programs and
select the map file format "Client-side
imagemap" as opposed to NCSA or CERN (for
server-side maps) prior to saving the file.
Here is a
sample client-side map file created using MapEdit:
<map
name="sample">
<area shape="rect"
coords="20,27,82,111"
href="hotspot1.html">
<area shape="circle"
coords="129,113,29"
href="hotspot2.html">
<area shape="rect"
coords="21,158,170,211"
href="mailto:support@abcdefghi.com">
<area shape="default" nohref>
</map> |
- Include the map file code within the desired HTML
document and reference it like so:
| <img border="0"
src="image.gif"
usemap="#sample"> |
Substitute the name of the desired image above and
note the relationship between the HTML tag, <map
name="sample"> and the
usemap="#sample" attribute above. You can test
your new client-side imagemap offline if the links refer
to files on your local PC.
Server-side Imagemaps
Server-side imagemaps are less efficient and less user
friendly than client-side imagemaps, but they are more widely
supported, especially with older browsers.
We use the Apache built-in imagemap processor, mod_imap,
to process imagemap requests. mod_imap gives you
the same basic functionality as either /cgi-bin/imagemap or
/cgi-bin/htimage, but allows simpler HTML coding, runs faster,
and has a variety of additional functions that you can use,
including text menu generation for text-only browsers.
To implement mod_imap imagemap functionality,
you need to perform two steps. First you need to create your
imagemap file in NCSA format using an
imagemapping tool such as MapEdit (PC) and WebMap
(Mac).
# sample NCSA map file
rect /sales/index.html 5,11 20,32
poly /about/company.html 40,36 80,34 75,40 40,70
circle /contact.html#jeff 120,88 130,102
default /index.html |
Then you need to reference your map file from its
corresponding image in your HTML like this:
<A
HREF="/somepath/somemapfile.map">
<IMG border="0"
SRC="someimage.gif" ISMAP></A> |
Full details of the format as used by mod_imap can be found
at:
http://www.apache.org/docs/mod/mod_imap.html
The file format information is in the second half of the
page; the first half deals primarily with .htaccess options for
text menu generation and other advanced features. You can ignore
that information if you don't plan to use those features.
Converting from /cgi-bin/imagemap to mod_imap:
If you're currently using /cgi-bin/imagemap, it is easy to
switch to mod_imap. If your HTML looks like this:
<A HREF="/cgi-bin/imagemap/somepath/mapfile.map">
<IMG border="0" SRC="someimage.gif"
ISMAP></A>
Just change it to:
<A HREF="/somepath/mapfile.map">
<IMG border="0" SRC="someimage.gif"
ISMAP></A>
And you're done. Notice that all you're doing is removing the
'/cgi-bin/imagemap' part. mod_imap and /cgi-bin/imagemap both use
the NCSA imagemap format, so no other changes
are needed.
Converting from /cgi-bin/htimage to mod_imap:
If you're currently using /cgi-bin/htimage, you'll make a
similar change, i.e.:
<A
HREF="/cgi-bin/htimage/somepath/mapfile.map">
<IMG border="0" SRC="someimage.gif"
ISMAP></A>
becomes:
<A HREF="/somepath/mapfile.map">
<IMG border="0" SRC="someimage.gif"
ISMAP></A>
The htimage program uses the CERN imagemap format, so you must
also convert your mapfiles to NCSA format. If you're using a
graphical imagemap editor, most allow you to "Save As"
either format, so you should be able to just load your files and
resave them under NCSA format. If your editor doesn't support
NCSA, or you are creating your mapfiles manually, you must make
the changes yourself.
A simple example comparing the CERN and NCSA formats can be
found at:
http://www.ihip.com/mapfile.html