Constraining link length with JavaScript and DOM

From time to time, we need to display links as plain URLs in a text.

The problem with URLs is that per definition they don’t contain spaces (yes, sloppy developers or maintainers use spaces in filenames and risk broken links, but nobody should).
No spaces in long words in HTML means that the text does not break into several lines when there is not enough space. This can seriously wreck a layout.
Furthermore, long URLs don’t look nice and stop the flow when reading a text.

A lot of blogging tools and CMS offer backend scripts to constrain the length of submitted URLs, for example in comments.
A friend asked me if that could also be done on the client side, and I wrote shortlinks to do that.

It is a small script that checks each of the links in the document for a http: start and if it is longer than a defined length. If that is the case, the script takes out some letters either at the end of the URL or in the middle and displays the shorter version. You can define a title with the full URL to be added.

3 Responses to “Constraining link length with JavaScript and DOM”

  1. Chris Says:

    I just updated the script slightly, as it threw an error when you used empty targets in your page. Now it checks that there is a link, and if there is content in it.

  2. keesjan Says:

    Hi, how excaclty use shortlinks() wheni use it with other scripts?

    Where do i need to call shortlinks(), in de page with the urls to shorten? in the javascript itself?

  3. toad78 Says:

    I’ve been having trouble using shortlinks with another function. I’ve followed the instructions and removed the ‘onload…’ command, but my link is still too long.

    I could use some help.

    Thank you!

Wait till I come! is the blog of Christian Heilmann , a developer evangelist living and working in London, England. Download vcard.

Feed me, Seymour: Entries (RSS) and Comments (RSS).