Is it possible to detect when a page is bookmarked within the browser, using Javascript?
No, AFAIK this is not possible.
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...
you could try detect key combinations at least, ctrl+d etc etc
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:
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.