Как на стороне клиента определить, когда страница добавлена ​​в закладки? - PullRequest
2 голосов
/ 23 января 2011

Можно ли определить, когда страница добавлена ​​в закладки в браузере, используя Javascript?

Ответы [ 4 ]

8 голосов
/ 23 января 2011

Нет, AFAIK это невозможно.

4 голосов
/ 07 сентября 2014

Большинство браузеров не позволяют вам определять, когда страница добавлена ​​в закладки, потому что это было бы еще одним вектором для эксплойтов истории браузера.

Если злонамеренный код может сказать, какие веб-сайты вы использовали, например:

  1. В лучшем случае они будут знать о вас то, что вы, возможно, пожелаете сохранить в тайне.
  2. Они могут использовать эту информацию, чтобы нацелить вас на смущающую рекламу или нацелить ваших детей на неотразимыхads.
  3. Они могут нацелить вас на гораздо более эффективные фишинговые атаки - так как они будут знать, какие сервисы, банки и т. д. вы используете онлайн.

По этой причине спецификация HTML давно требует, чтобы:

Фактические (истории) записи не были доступны из скрипта.

Из этого следует, что закладки - это еще более долговременная форма истории, поэтому они также не будут допущены.
Действительно, когда использует добычу истории по побочному каналу (например,стала известна уязвимость CSS :visited, настроены соответствующие спецификации и браузеры, обеспечивающие безопасность, перемещаются, чтобы заблокировать дыру в конфиденциальности.

1 голос
/ 26 апреля 2011

вы можете попытаться определить комбинации клавиш, по крайней мере, Ctrl + D и т. Д.

0 голосов
/ 31 августа 2011

Я нашел этот вопрос при поиске чего-то похожего. Вот как я это делаю:

Когда пользователь использует одну из замечательных функций сайта, я запускаю этот код

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
}

Прекрасная часть - я буду продолжать заставлять пользователей закладывать страницу, пока они этого не сделают ...

...