Добавление в закладки («в избранное») на JavaScript во всех браузерах

Недавно нужно было сделать ссылку на добавление страницы в закладки. Как оказалось javascript-функция window.external.AddFavorite() работает не во всех браузерах. Поэтому пришлось найти решение, которое подошло бы, может, и не для всех браузеров, но для большинства точно. Далее приведены пара функций, с помощью которых вы можете легко "прикрутить" к вашей кнопке или ссылке возможность быстро добавить ваш сайт в закладки.

Работает как в этом дурацком Internet Explorer, так и в горячо мною любимой Opera, и в Mozilla Firefox.

Функции следует разместить в контейнере <head></head>:

<script type="text/javascript">
function browserInfo() 
{
    var type, version = undefined;

    if (window.opera)
        type = 'Opera';
    else if (document.all) 
    {
        type = 'IE';
        var nv = navigator.appVersion;
        var s = nv.indexOf('MSIE')+5;
        v = nv.substring(s,s+1);
    }
    else if (navigator.appName) 
        type = 'Netscape';

    return { 'type': type, 'version': version};
}
 
function bookmark(a)
{
    var pageUrl = window.document.location;
    var pageTitle = window.document.title;
    var browser = browserInfo();

    if (browser.type == 'IE' && 7 > browser.version && browser.version >= 4)
        window.external.AddFavorite(pageUrl, pageTitle);
    else if (browser.type == 'Opera') 
    {
        a.href = pageUrl;
        a.rel = 'sidebar';
        a.title = pageUrl + ',' + pageTitle;
    
        return true;
    }
    else if (browser.type == 'Netscape') 
        window.sidebar.addPanel(pageTitle, pageUrl, '');
    else 
        alert('Нажмите, пожалуйста, Ctrl-D для добавления страницы в закладки');

    return false;
}
</script>

Вот пример ссылки, которая добавит страницу в закладки:

<a href="javascript:void(0);" onclick="return bookmark(this);">В избранное</a>

И кнопка:

<input type="button" value="В избранное" onclick="return bookmark(this);" />

В действии все это можно посмотреть здесь

 Жду с нетерпением
ваших комментариев!
 

Подписаться на RSS

Вы можете нажать "подписаться", чтобы следить за моими новостями!
Так вы всегда будете в курсе появления новостей на сайте =)
О том, что такое RSS можно прочитать здесь.

Подписаться

Подписаться на Twitter

Я специально зарегистрировался в Твиттере, чтобы вы могли следить за обновлениями на сайте =)

Подписаться

Envato marketplace А эти люди занимаются прокатом карнавальных костюмов и масок в Минске. К слову, я им делал сайт.