Skip to content
CodeLifter

The 1999 shelf, sorted

Every script we can trace from the old CodeLifter, by name and old address. Some became prompts reviewed by the editors. Some the browser now does for you. Some should stay retired.

A storage box of floppy disks with blank labels, one disk outside it with an orange-red label

Every script 15

  1. Go back to the previous page/main/tips/tip_015.shtml Go back prompt → The tip people found most often through search. The prompt asks for a real link with a fallback address, using history only when the visitor came from this site.
  2. Random quote/main/javascript/randomquote.shtml Random quote prompt → Showed a randomly chosen quote. The prompt adds a link to each quote’s source, a live region for screen readers and no repeats in a row.
  3. Capture mouse position/main/javascript/capturemouseposition1.html Mouse position prompt → Reported where the pointer was on the page. The prompt uses pointer events, which cover mouse, pen and touch, and says which coordinate to read for which job.
  4. Auto-size image popup/main/javascript/autosizeimagepopup.html Image popup prompt → Opened a picture in a new window sized to fit it. The prompt uses the dialog element instead, so the picture opens inside the page and closes with Escape.
  5. Draggable layer/main/javascript/dragablelayer.html Draggable prompt → Let visitors drag a block around the page. The prompt uses pointer capture, keeps the block inside its container and adds arrow keys for keyboard users.
  6. Slideshow/main/javascript/slideshow2.html Slideshow prompt → Stepped through a set of images. The prompt adds previous and next buttons, alt text, no autoplay and respect for the reduced-motion setting.
  7. Frame buster/main/javascript/framebuster1.html CSP frame-ancestors Kept a page from being shown inside another site’s frame. The frame-ancestors directive of a Content-Security-Policy header now names which parents may embed a page, with no script.
  8. Email address checker/main/javascript/emailaddresschecker1.html input type="email" Checked an address before a form was sent. The browser now validates an email input as email syntax; MDN still advises checking the value on the server.
  9. Email this link/main/javascript/emailthislink1.html mailto: link Let a visitor send the page address to a friend. A plain mailto: link opens the visitor’s own email program with a new message, and needs no script.
  10. Favicon/main/javascript/favicon1.html link rel="icon" Gave a site its small icon. A link element with rel="icon" names the icon file, and the browser shows it in its own interface.
  11. Change scrollbar colourOld address not in the link records CSS scrollbar-color Once needed a browser-specific trick. The CSS scrollbar-color property now sets the colour of the scrollbar track and thumb.
  12. No right-click/main/javascript/norightclick1.html Retired The most linked page on the old site. It blocked one mouse button and protected nothing; the article on disabling right-click explains why and what shows authorship instead.
  13. Popup from hell/main/javascript/popupfromhell1.html Retired Judging by its name, it opened windows the visitor had not asked for. MDN notes that browsers now require a popup to open in direct response to user input.
  14. Window maximize/main/javascript/windowmaximize.shtml Retired Resized the visitor’s browser window. MDN notes that a page cannot resize a window or tab it did not open with window.open(), or a window with several tabs.
  15. Bookmark this page/main/javascript/bookmarkthispage1.html Retired Offered a button to bookmark the page. The editors know of no standard web feature that lets a page add a bookmark, so this one was not restored.

Names and old addresses come from links to the original site that still exist and from its redirect map, checked 2026-10-15. This is not the full original catalogue, and the code of the old scripts is not reproduced here.

Why prompts, not paste

In 1999 you copied a script and hoped. Now an assistant writes one for your exact page, and the old mistakes come back unless you name them. A reviewed prompt names them up front.

Thenonclick="history.back()"
NowA real link, and history only for same-site visitors.