Skip to the content...

Welcome to the David Walsh Blog. I'm a MooTools, Dojo, jQuery, CSS, and PHP Web Developer located in Madison, Wisconsin, United States. Please contact me if I can make your experience on my website better.

“Favorite” Link — How To Create a Bookmark Link

3 Responses »

I get a lot of requests from customers to add a link to their website that allows the user to "bookmark" their site. I generally try to get them to drop that idea. The functionality of an "add to favorites" link isn't cross-browser compatible -- neither Firefox or Opera will allow it. Internet Explorer does allow favorite links and most of the internet still uses IE, so I do have a script to accomplish this goal.

The Code

/*  BOOKMARK THE PAGE  */
function bookmark()
{
	if ((navigator.appName == 'Microsoft Internet Explorer') && (parseInt(navigator.appVersion) >= 4))
	{
		window.external.AddFavorite(window.location,document.title);
	}
	else
	{
		alert('Don\'t forget to bookmark us! (CTRL-D)');
	}
}

The Explanation

It's a pretty simple JavaScript function. The function first checks to see if the user is browsing using Internet Explorer. If so, the function makes the appropriate call to IE, providing the page URL and title. If the user doesn't use Internet Explorer, short instructions are provided to prompt the user's browser to to add the current page as a favorite.

Discussion

  1. November 19, 2007 @ 9:34 pm

    Nice post. Are you calling the bookmark function when the page loads? It seems like it since the else statement is an alert box. Perhaps a better way is by calling the function onclick of a link. Like you, I wouldn’t personally want to add this, but I think targeting specific browsers and using the addons that each browser offers is a good thing if you can provide a better experience without affecting the other visitors.

  2. November 20, 2007 @ 8:31 am

    No Jeremy, the function isn’t run when the page loads. You would simply call this function from a link.

    Calling this implicitly for all users would be website suicide.

Be Heard!

Share your thoughts with fellow developers of all skill levels! I want to hear from you!

Name*:
Email*:
Website:  
Wrap your code with <code> tags, f00!