Как добавить кнопку «Добавить в избранное» или ссылку на моем веб-сайте?

Я создаю веб-сайт с использованием Drupal. В заголовке каждой страницы я хочу иметь одно изображение (специально разработанное мной), которое будет действовать как пользовательское & quot; Добавить в избранное & quot; кнопка. Нажатие на изображение должно добавить URL-адрес веб-сайта в избранное (закладки) браузера пользователя. Это должно работать для всех браузеров, IE7 +, FF, Opera, Chrome. Я не смог найти много информации для этого онлайн. Я полагаю, что Javascript должен выполнять эту работу, но у меня нет большого опыта работы с Javascript :), поэтому мне нужна ваша помощь!

 Josh Habdas02 февр. 2019 г., 05:59
TL; DR вы могли бы попробоватьWeb Extension или вы можете просто создать абсолютную ссылку с помощью `rel = & quot; bookmark & quot; на странице, чтобы пользователь мог решить, что с ним делать.
 alanj24 июн. 2015 г., 20:20
возможный дубликатBookmark on click using jQuery

Ответы на вопрос(5)

  if (window.sidebar) { // Mozilla Firefox Bookmark
     window.sidebar.addPanel(document.title,location.href,"");

Он добавляет закладку, но в боковой панели.

 17 апр. 2012 г., 01:56
location.href, document.title, - должен быть в обратном порядке

Этот код является исправленной версией ответа iambriansreed:

<script type="text/javascript">
    $(function() {
        $("#bookmarkme").click(function() {
            // Mozilla Firefox Bookmark
            if ('sidebar' in window && 'addPanel' in window.sidebar) { 
                window.sidebar.addPanel(location.href,document.title,"");
            } else if( /*@[email protected]*/false) { // IE Favorite
                window.external.AddFavorite(location.href,document.title); 
            } else { // webkit - safari/chrome
                alert('Press ' + (navigator.userAgent.toLowerCase().indexOf('mac') != - 1 ? 'Command/Cmd' : 'CTRL') + ' + D to bookmark this page.');
            }
        });
    });
</script>
 18 июл. 2013 г., 22:10
Спасибо! это работает на ie в отличие от принятого ответа .. (на принудительном режиме ie9 на ie10)
 19 июл. 2013 г., 16:21
UPDATE: this will fail if you have an element with an id=sidebarпроверьте это:stackoverflow.com/questions/17747578/…
 21 авг. 2013 г., 02:13
Firefox с элементом с id = sidebar. Проверьте вопрос выше .. это исправлено, хотя
 18 сент. 2013 г., 17:44
Только что попробовал скрипт, но он появляется только в окне закладок IE, Firefox, Chrome, Opera и Safari (Windows), все оповещения.
 02 июл. 2013 г., 14:45
работает как шарм! благодарю вас
Решение Вопроса

Версия JQuery

$(function() {
  $('#bookmarkme').click(function() {
    if (window.sidebar && window.sidebar.addPanel) { // Mozilla Firefox Bookmark
      window.sidebar.addPanel(document.title, window.location.href, '');
    } else if (window.external && ('AddFavorite' in window.external)) { // IE Favorite
      window.external.AddFavorite(location.href, document.title);
    } else if (window.opera && window.print) { // Opera Hotlist
      this.title = document.title;
      return true;
    } else { // webkit - safari/chrome
      alert('Press ' + (navigator.userAgent.toLowerCase().indexOf('mac') != -1 ? 'Command/Cmd' : 'CTRL') + ' + D to bookmark this page.');
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<a id="bookmarkme" href="#" rel="sidebar" title="bookmark this page">Bookmark This Page</a>

 21 нояб. 2017 г., 15:24
Update: November 2017 Жаль, что соответствующие организации до сих пор не стандартизировали это. Это все еще лучшее / единственное решение.
 18 сент. 2013 г., 17:40
Я пытался, но он не работает в опере. Только IE всплывающее окно с закладками, Firefox, Chrome и Safari (Windows) все оповещения.
 05 апр. 2012 г., 20:06
@webmaniacgr смотрите обновление. Да. И пожалуйста, на самом деле +1, тогда примите.
 23 сент. 2013 г., 13:27
Приватность Firefoxwindow.sidebar.addPanel(..) устарела, иthe function was removed in Firefox 23 (см. третью пулю)
 05 апр. 2012 г., 19:52
+1, но будет ли это работать в Chrome / Safari?

У меня возникли некоторые проблемы с rel = & quot; боковой панелью & quot ;. когда я добавляю его в ссылку, закладка будет работать на FF, но перестанет работать в другом браузере. поэтому я исправляю это, добавляя rel = & quot; sidebar & quot; динамический по коду:

jQuery('.bookmarkMeLink').click(function() {
    if (window.sidebar && window.sidebar.addPanel) { 
        // Mozilla Firefox Bookmark
        window.sidebar.addPanel(document.title,window.location.href,'');
    }
    else if(window.sidebar && jQuery.browser.mozilla){
        //for other version of FF add rel="sidebar" to link like this:
        //<a id="bookmarkme" href="#" rel="sidebar" title="bookmark this page">Bookmark This Page</a>
        jQuery(this).attr('rel', 'sidebar');
    }
    else if(window.external && ('AddFavorite' in window.external)) { 
        // IE Favorite
        window.external.AddFavorite(location.href,document.title); 
    } else if(window.opera && window.print) { 
        // Opera Hotlist
        this.title=document.title;
        return true;
    } else { 
        // webkit - safari/chrome
        alert('Press ' + (navigator.userAgent.toLowerCase().indexOf('mac') != - 1 ? 'Command/Cmd' : 'CTRL') + ' + D to bookmark this page.');

    }
});

Кредит для@ Герт Гренандер , @ Alaa.Kh , а такжеРосс Шенон

Попытка сделать заказ:

все это работает - все, кроме функции закладок Firefox. по какой-то причине «window.sidebar.addPanel»; не является функцией отладчика, хотя работает нормально.

Проблема в том, что он берет свои значения из вызова<a ..> tag: title как имя закладки и href как адрес закладки. так что это мой код:

JavaScript:

$("#bookmarkme").click(function () {
  var url = 'http://' + location.host; // i'm in a sub-page and bookmarking the home page
  var name = "Snir's Homepage";

  if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1){ //chrome
    alert("In order to bookmark go to the homepage and press " 
        + (navigator.userAgent.toLowerCase().indexOf('mac') != -1 ? 
            'Command/Cmd' : 'CTRL') + "+D.")
  } 
  else if (window.sidebar) { // Mozilla Firefox Bookmark
    //important for firefox to add bookmarks - remember to check out the checkbox on the popup
    $(this).attr('rel', 'sidebar');
    //set the appropriate attributes
    $(this).attr('href', url);
    $(this).attr('title', name);

    //add bookmark:
    //  window.sidebar.addPanel(name, url, '');
    //  window.sidebar.addPanel(url, name, '');
    window.sidebar.addPanel('', '', '');
  } 
  else if (window.external) { // IE Favorite
        window.external.addFavorite(url, name);
  } 
  return;
});

HTML:

  <a id="bookmarkme" href="#" title="bookmark this page">Bookmark This Page</a>

В обозревателе Интернета существует различие между «добавлением избранного»: <a href="javascript:window.external.addFavorite('http://tiny.cc/snir','snir-site')">..</a> and 'AddFavorite': <span onclick="window.external.AddFavorite(location.href, document.title);">..</span>.

пример здесь:http://www.yourhtmlsource.com/javascript/addtofavorites.html

Важно, что в Chrome мы не можем добавлять закладки с помощью js (САШ-я): http://www.codeproject.com/Questions/452899/How-to-add-bookmark-in-Google-Chrome-Opera-and-Saf

Ваш ответ на вопрос