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

前端 未结 4 1736
隐瞒了意图╮
隐瞒了意图╮ 2021-01-14 07:32

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

相关标签:
4条回答
  • 2021-01-14 08:02

    No, AFAIK this is not possible.

    0 讨论(0)
  • 2021-01-14 08:09

    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...

    0 讨论(0)
  • 2021-01-14 08:14

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

    0 讨论(0)
  • 2021-01-14 08:16

    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.

    0 讨论(0)
提交回复
热议问题