→

JavaScript программирование →  Добавить страницу в избранное

Работает это в следующих браузерах:
Internet Explorer (Win), FireFox (Win/Mac), Opera (Win), Netscape (Win/Mac), Mozilla (Mac)

Не работает в Safari (Win/Mac). Тех кто знает решение — жду в личке или в комментах.
Вернее в Safari выдает пользователю сообщение: «Что бы добавить страницу в избранное нажмите CTRL-D.»
Ну или Command-D — в зависимости от платформы.

function bookmark(title, url) {
        if (title == undefined)
                title = document.title;
        if (url == undefined)
                url = top.location.href;
        if (window.sidebar) {
                // Firefox
                window.sidebar.addPanel(title, url, '');
        } else if (window.opera && window.print) {
                // Opera
                var t = document.createElement('a');
                t.setAttribute('rel', 'sidebar');
                t.setAttribute('href', url);
                t.setAttribute('title', title);
                t.click();
        } else if(window.external ) {
                // IE
                window.external.AddFavorite(url, title);
        }
        else {
//сюда уже проверку сами вставите, хотя, по идее это условие никогда не выполнится
//но для надежности пусть будет
                alert('Что бы добавить страницу в избранное нажмите CTRL-D.');
        }
        return false;
}
 
if (window.external || window.sidebar || (window.opera && window.print)) {
        document.write('<a href="/#"  onclick="bookmark(\'Сайт о веб-программировании\',
\'http://php5.com.ua\'); return false;">Добавить в избранное<\/a>'
);
}
else {
//проверяем макинтош это или писюк
        this.agent = navigator.userAgent;
        this.mac = this.agent.indexOf("Mac")>-1;
//для макинтоша соответственно выводим
        if (this.mac) document.write('Что бы добавить страницу в избранное нажмите Command-D.');
//для PC выводим
        else document.write('Что бы добавить страницу в избранное нажмите CTRL-D.');
}
3