Кросс-браузер закладка / добавить в избранное JavaScript [дубликат]


этот вопрос уже есть ответ здесь:

  • Как добавить кнопку "Добавить в Избранное" или ссылку на мой сайт? 5 ответов

есть ли кросс-браузер закладки/добавить в избранное на JavaScript.

искал какой-то список, но никто не работает. Не могли бы вы предложить что-нибудь?

4 63

4 ответа:

версия jQuery

JavaScript (измененный из скрипта, который я нашел на чьем - то сайте-я просто не могу найти сайт снова, поэтому я не могу дать человеку кредит):

$(document).ready(function() {
  $("#bookmarkme").click(function() {
    if (window.sidebar) { // Mozilla Firefox Bookmark
      window.sidebar.addPanel(location.href,document.title,"");
    } else if(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;
    }
  });
});

HTML:

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

IE покажет ошибку, если вы не запустите его с сервера (он не разрешает закладки JavaScript через JavaScript при просмотре его как file://....

Если вам нужен более полный сценарий, вы можете всегда купить один из этого страница (Нет, я не связан с этим сайтом... ЛОЛ).

Я думаю нет. Закладки / избранное должны находиться под контролем пользователя, представьте, что любой сайт, который вы посетили, может вставить себя в ваши закладки только с помощью javascript.

function bookmark(title, url) {
    if(document.all) { // ie
        window.external.AddFavorite(url, title);
    }
    else if(window.sidebar) { // firefox
        window.sidebar.addPanel(title, url, "");
    }
    else if(window.opera && window.print) { // opera
        var elem = document.createElement('a');
        elem.setAttribute('href',url);
        elem.setAttribute('title',title);
        elem.setAttribute('rel','sidebar');
        elem.click(); // this.title=document.title;
    }
}

я использовал это и отлично работает в IE, FF, Netscape. Chrome, Opera и safari не поддерживают его!

Как насчет использования выпадающего решения, как ShareThis или AddThis? Они имеют схожую функциональность, поэтому вполне возможно, что они уже решили проблему.

код AddThis имеет огромную вилку версии браузера if / else для сохранения избранных, хотя большинство ветвей заканчивается тем, что пользователь вручную добавляет избранное, поэтому я думаю, что такой чистой реализации JavaScript не существует.

в противном случае, если вам нужен только для поддержки IE и Firefox, у вас есть IE