Кнопка добавления в закладки браузера

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

К тому же возможно найдутся такие пользователи, которые не знакомы с функцией добавления в избранное в своих браузерах и эта кнопка им тоже понадобится.

На моём блоге она находится в блоке «Поделиться», в самом конце поста.

Итак, прицепляем к событию onClick какого-либо элемента JavaScript-функцию:

<a href="" onClick="return add_favorite(this);">В закладки</a>

Теперь распишем саму функцию:

function add_favorite(a) {
  title=document.title;
  url=document.location;
  try {
    // Internet Explorer
    eval("window.external.AddFa-vorite(url, title)".replace(/-/g,''));
  }
  catch (e) {
    try {
      // Mozilla
      window.sidebar.addPanel(title, url, "");
    }
    catch (e) {
      // Opera
      if (typeof(opera)=="object") {
        a.rel="sidebar";
        a.title=title;
        a.url=url;
        return true;
      }
      else {
        // Остальные браузеры
        alert('Нажмите Ctrl + D, чтобы добавить страницу в закладки');
      }
    }
  }
  return false;
}

Код отлично работает во всех версиях IE (6+), Opera и Firefox, только вот в Google Chrome и Safari вылазиет сообщение с предложением нажать Ctrl + D. Но как я уже говорил, эта кнопка нужна скорее для дизайна.

Подпишитесь, чтобы раз в неделю получать свежие статьи с блога по email.

Смотрите также

Комментарии 7

  • Ann11 июня 2012 в 19:06 #

    Не работает эта кнопочка у вас на сайте. Opera 11.52.

    • Миша11 июня 2012 в 19:06 #

      а на этом сайте работает?) попробуй нажать на кнопку с сердчеком в конце поста?

      • Вова18 января 2016 в 11:01 #

        Подскажите, пожалуйста, как именно сделать имитацию нажатия комбинации клавиш ctrl + d ?
        Сделал таким деревянным способом, который естественно не работает

        var ctrl = jQuery.Event( "keypress", { keyCode: 17 } ),
            d = jQuery.Event( "keypress", { keyCode: 68  } );
         
        jQuery( "body" ).trigger( ctrl + d )
  • Эрик8 августа 2012 в 18:08 #

    Не работает сердечко! Почему?
    Скажите, а можно ли с помощью html кода дать команду на комбинацию клавиш на клавиатуре, например тот же ctrl+D ?

    • Миша10 августа 2012 в 07:08 #

      а какой у тебя браузер?

      Скажите, а можно ли с помощью html кода дать команду на комбинацию клавиш на клавиатуре, например тот же ctrl+D ?

      да, можно)

  • Даниил1 января 2013 в 16:01 #

    У меня работает!
    Я с Хрома и IE сижу

  • kinoman13 мая 2013 в 15:05 #

    спасибо за новость и код вставки

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • Миша: Добрый день! В принципе вам только немного нужно доработать код из этого поста - категории уже есть, цена - это и так...

  • eveniy: Добрый день Михаил, подскажите на примере как добавить свои произвольные поля в в вашу форму фильтрации: Я так понимаю...

  • Миша: Отлично! )

  • Дмитрий: сам разобрался: в настройках кастомного типа записи недавно оптимизировал настройки и переоптимизировал: в аргументе 'ta...

  • Дмитрий: У меня по какой-то причине пропало отображение (как в колонке меню слева, так и метабокс в записях ) раздела рубрик для...