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

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

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

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

Итак, прицепляем к событию 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Просто код
  Комментарии закрыты.
  • Миша: Привет ещё раз, не поверишь, реально не сталкивался с этим вопросом. По теории можно сказать следующее: во-первых,...

  • Миша: Привет, вообще без проблем, делаешь всё через require(), require_once() - выбирай любую, какая больше нравится.

  • Виталий Моргунов: Привет! Не могу разобаться, как я могу контролировать порядок подключения стилей. В моем случае мне нужно чтобы стили...

  • Миша: Спасибо!

  • w0rmak: Это было просто. Нашел код в интернете. Добавьте и себе ymaps.load(function () { var input = document.getElem...