【问题标题】:How to client-side detect when a page is bookmarked?如何在客户端检测页面何时被添加书签?
【发布时间】:2011-01-23 20:57:32
【问题描述】:

是否可以使用 Javascript 检测页面何时在浏览器中添加书签?

【问题讨论】:

    标签: javascript browser client-side detect bookmarks


    【解决方案1】:

    不,AFAIK 这是不可能的。

    【讨论】:

      【解决方案2】:

      大多数浏览器不会让您检测页面何时被添加书签,因为这将成为浏览器历史挖掘漏洞利用的另一个载体。

      如果恶意代码可以告诉你使用过哪些网站,例如:

      1. 充其量,他们会知道您可能希望保密的有关您的事情。
      2. 他们可能会利用这些信息向您投放令人尴尬的广告,或向您的孩子投放难以抗拒的广告。
      3. 他们可以通过更有效的网络钓鱼攻击来攻击您——因为他们知道您在线使用的服务、银行等。

      正是出于这个原因,the HTML spec 长期以来要求:

      无法从脚本访问实际(历史)条目。

      因此,书签是一种更持久的历史形式,因此它们也不会被允许。
      事实上,每当side-channel history-mining exploits(如 CSS :visited 漏洞)被知道时,the appropriate specs 就会被调整,并且具有安全意识的浏览器会移动以阻止隐私漏洞。

      【讨论】:

        【解决方案3】:

        您至少可以尝试检测组合键,ctrl+d 等

        【讨论】:

        • 在当今的大多数浏览器中,人们只需单击地址栏中的星号,而不是使用键盘。
        【解决方案4】:

        我在搜索类似内容时发现了这个问题。以下是我的做法:

        当用户使用网站的一项很棒的功能时,我会运行此代码

        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
        }
        

        美妙的部分是我会不断地让用户为页面添加书签,直到他们这样做......

        【讨论】:

        • 我认为您将“美丽”与“令人难以置信的讨厌和烦人”混淆了。
        • @FranciscoZarabozo 对用户来说非常烦人,是的,但这正是我的客户正在寻找的
        猜你喜欢
        • 2010-10-05
        • 2013-11-22
        • 2013-11-18
        • 2019-08-18
        • 2010-09-21
        • 2019-10-21
        • 2014-10-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多