speed-dial bookmarklet

How this works

This form is used to create a bookmarklet which connects the user to a given telephone number. This much should work on any browser that supports the "tel:" URI scheme running on a telephony-capable host.

The form also permits the input of a URL pointing to an image. This URL is placed into an "apple-touch-icon" LINK tag, which is used by Safari on the iPhone to specify an image to use in a home-screen bookmark.

When the "create my bookmarklet" button is pressed, the Javascript embedded in this page will redirect your browser to a tel: URI containing the number you want to dial. Your browser will then handle the URI in whatever way it does (on most browsers there will be an error dialog or error page). On an iPhone, the button will initiate dialing, although it will prompt for confirmation before actually placing the call.

You could type a tel: URI into Safari directly, but you couldn't bookmark it. You could bookmark a page containing a tel: URI for the number you would like to dial, although you would have to go out and load the page before the browser would dial. What this page does is send Safari the URI itself in a bookmarkable form: namely, a data: URI containing a script that dials the tel: URI. Then you can dial the number directly from your Safari bookmark without having to load an external web page.

With version 1.1.3 of the iPhone firmware, users can save Safari bookmarks as icons on the home screen. If you specify an image URL, that image will be used as the home-screen icon for the bookmarklet when you save it. In order to save this bookmarklet on your iPhone, cancel the dialing; back up your browser one page, so you can see the data: URI in the address bar; and bookmark that. Save it to your home screen if you want to.

It's worth noting that this form sends NOTHING over the air back to the webserver you loaded it from; it's all Javascript that runs locally on your browser.

phone number:

image URL: