Добавление страницы сайта в закладки браузера (AddBookmark / AddFavorite)

30.08.2013 18:15:44
Понадобилось сделать на сайте кнопки, при нажатии на которую, всплывало бы предложение добавить данную страницу в закладки браузера.

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

Для начала приведу пример самого простого работающего варианта:

1
<a href="http://www.oddler.ru" title="Название сайта" onClick="window.external.AddFavorite(this.href, this.title); return false;" rel="sidebar">Добавить в избранное</a> 

Но у него есть один недостаток  - в браузерах, которые не поддерживают добавление в закладки, никакого сообщения пользователю выдано не будет.

К таким браузерам относятся Internet Explorer версии ниже 8 и, как не странно, google Chrome.
Вот расширенный вариант кода:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<!DOCTYPE HTML>
<html lang="ru">
<head>
    <meta charset="windows-1251">
    <title>Test</title>
    
  <script src="jquery.min.js" type="text/javascript"></script>

<script type="text/javascript">

$(document).ready(function(){

    if ( ($.browser.webkit) || ( ($.browser.msie) && ($.browser.version < 8) ) )
    { 
        $('.addbookmark').click( function(e){
            e.preventDefault();
            alert('Ваш браузер не поддерживает автоматическое добавление закладок. Нажмите Ctrl+D чтобы добавить страницу в закладки.');
        });
    }
    
});

</script>
    
</head>
<body>

    <a class="addbookmark" href="http://www.site.ru" title="Название сайта" onClick="window.external.AddFavorite(this.href, this.title); return false;" rel="sidebar">Добавить в избранное</a> 

        
</body>
</html>


Категории: JavaScript
Яндекс.Метрика