Panagiotis Panagi
Panagiotis Panagi

Reputation: 10077

How to client-side detect when a page is bookmarked?

Is it possible to detect when a page is bookmarked within the browser, using Javascript?

Upvotes: 5

Views: 5123

Answers (4)

Brock Adams
Brock Adams

Reputation: 93443

Most browsers will not let you detect when a page is bookmarked because this would be another vector for Browser History Mining exploits.

If malicious code could tell what websites you've used then, for example:

  1. At best, they'd know things about you that you might wish to keep private.
  2. They could use that information to target you with embarrassing ads or to target your kids with irresistible ads.
  3. They could target you with much more effective phishing attacks -- since they'd know services, banks, etc. you use online.

It is for this reason that the HTML spec has long required that:

The actual (history) entries are not accessible from script.

It follows that bookmarks are an even more lasting form of history, so they would not be allowed either.
Indeed whenever side-channel history-mining exploits (like the CSS :visited vulnerability) became known, the appropriate specs are adjusted and security-conscious browsers move to block the privacy hole.

Upvotes: 8

Coomie
Coomie

Reputation: 4868

I found this question when searching for something similar. Here's how I'm doing it:

When the user uses one of the awesome features of the site I run this code

var bm=confirm("How great is this site? Would you like to bookmark it?");
if (bm==true){
  window.external.AddFavorite(location.href,document.title);
  // and then don't show this again and record that they bookmarked
}

The beautiful part is I'll keep bugging the user to bookmark the page until they do...

Upvotes: -5

jonsey
jonsey

Reputation: 11

you could try detect key combinations at least, ctrl+d etc etc

Upvotes: 1

Darin Dimitrov
Darin Dimitrov

Reputation: 1038710

No, AFAIK this is not possible.

Upvotes: 11

Related Questions