Закладка при нажатии с помощью jQuery

#javascript #jquery

#javascript #jquery

Вопрос:

Есть ли способ сохранить текущую страницу в качестве закладки (через jQuery или иным образом) при нажатии определенной кнопки?

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

1. в вашем собственном браузере? или в какую-нибудь социальную сеть?

Ответ №1:

 <script language="javascript" type="text/javascript">
$(document).ready(function(){
  $("a.jQueryBookmark").click(function(e){
    e.preventDefault(); // this will prevent the anchor tag from going the user off to the link
    var bookmarkUrl = this.href;
    var bookmarkTitle = this.title;

    if (window.sidebar) { // For Mozilla Firefox Bookmark
        window.sidebar.addPanel(bookmarkTitle, bookmarkUrl,"");
    } else if( window.external || document.all) { // For IE Favorite
        window.external.AddFavorite( bookmarkUrl, bookmarkTitle);
    } else if(window.opera) { // For Opera Browsers
        $("a.jQueryBookmark").attr("href",bookmarkUrl);
        $("a.jQueryBookmark").attr("title",bookmarkTitle);
        $("a.jQueryBookmark").attr("rel","sidebar");
    } else { // for other browsers which does not support
         alert('Your browser does not support this bookmark action');
         return false;
    }
  });
});
</script>
  

Этот код взят у Developersnippets!

/e:

Chrome не поддерживает такие действия, поскольку уровень безопасности может быть нарушен.

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

1. Как я могу заставить это работать в Chrome? В Chrome предупреждающее сообщение даже не отображается…

2. Чтобы предотвратить выдачу ошибки в Chrome, вы должны использовать, else if(window.external amp;amp; window.external.AddFavorite) поскольку window.external это определено в Chrome, но не window.external.AddFavorite .

Ответ №2:

Поскольку Chrome не поддерживает такое действие, решением могло бы быть сначала проверить, используется ли браузер Chrome, и если да, то предупредить пользователя о том, что функция закладки не поддерживается. Тогда для других случаев скрипт, предоставленный на DevelopersSnippets, работает нормально.

Пример:

    $("a.bookmark").click(function(e){
    e.preventDefault(); // this will prevent the anchor tag from going the user off to the link
    var bookmarkUrl = this.href;
    var bookmarkTitle = this.title;
    if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { 
            alert("This function is not available in Google Chrome. Click the star symbol at the end of the address-bar or hit Ctrl-D (Command D for Macs) to create a bookmark.");      
    }else if (window.sidebar) { // For Mozilla Firefox Bookmark
        window.sidebar.addPanel(bookmarkTitle, bookmarkUrl,"");
    } else if( window.external || document.all) { // For IE Favorite
        window.external.AddFavorite( bookmarkUrl, bookmarkTitle);          
    } else if(window.opera) { // For Opera Browsers
        $("a.bookmark").attr("href",bookmarkUrl);
        $("a.bookmark").attr("title",bookmarkTitle);
        $("a.bookmark").attr("rel","sidebar");
    } else { // for other browsers which does not support
         alert('Your browser does not support this bookmark action');
         return false;
    }
  });
  

Ответ №3:

Попробуйте это:

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

Ответ №4:

Я думаю, что плагин jquery Bookmark — это то, что вы ищете. jBrowserBookmark позволяет добавлять функциональность на сайт, которая позволяет добавлять страницу в список boookmark браузеров. Эта функция поддерживается браузерами Internet Explorer, Firefox, Opera и Konqueror.Вы можете получить это здесь

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

1. Заменил старую / нерабочую ссылку на другую, не уверен, что это тот же автор, но это одна из первых ссылок при поиске по этому имени. Плагин — это просто инкапсуляция методов из других ответов.