Итак небольшая заметка на тему добавления ссылок в избранное браузера через JavaScript, т.е. например, с помощью кнопки на сайте, а не в интернет-бродилке (Ctrl+D например, но о нем позже).
Вообще зачем такая фишка нужна, мне в общем-то не ясно, но раз ее впилил в свой список такой технократический гигант как addthis.com нам конечно срочно необходимо сделать что-то подобное.
Соответственно ниже в заметке методы достижения цели, листинг функции и пример.
В коде бибилиотеки виджета добавления ссылок кругом и всюду (addthis.com) черт ногу сломит, но внезапно на глаза попалась кнопка в виде звездочки на одном из bitrix-сайтов. Как оказалось, после нано-опыта (жмака), делает она то, что надо пытается добавить ссылку на текущую страницу в избранное браузера.
Функция в текущем виде работала только в Internet Explorer (и, видимо, других браузерах на движке Trident) и в FireFox (и соответственно в остальных Gecko-браузерах). В итоге пришлось ее немного подправить (все комментарии по правкам в коде функции), чтобы она работала еще и в Opera. В Google Chrome судя по этому ответу на оф.форуме в целях секьюрности вообще отключена возможность добавления ссылок в избранное скриптами, только руками, т.е. тот самый Ctrl+D
Код скрипта/функции добавления в избранное
И еще один более грамотный вариант с использованием блоков try, catch отсюда:
Еще один вариант той же функции, но с try, catch
Например такой вариант помог мне справиться с ошибкой:
Uncaught TypeError: Object #<HTMLDivElement> has no method 'addPanel' vzakladki.js:8
Соответственно протестировать можно вот так:<a href="" onclick="return AddToBookmark(this);">Добавить ссылку в избранное</a>
Пример использования
Как только на сайте появился блок для расшариваний контента «Яндекс.Поделиться», появилась идея отделить мух от котлет, т.е. закладки от соцсетей. Ну и эта функция пригодялась в скрипте минивиджета (сделанного из старинного скрипта, описанного в связанной статье), который можно наблюдать в шапке сайта под поиском (также для фана туда добавлена возможность отправки ссылки на почту! ну и стандартные ссылки на добавление закладок в соответствующие сервисы Яндекс и Google).
Функция и минивиджет/минискрипт добавления в закладки тестировался в Internet Explorer 8, FireFox 3.6, Opera 9 и Chrome 11 ))
А куда этот код собственно вставлять?
В код шаблона или в какое-то другое место?
Можно и туда и туда, например, на этом блоге скрипт этого «виджета» вызывается в файл шаблона header.php вот так:
<script src="http://wmdn.ru/vzakladki.js" type="text/javascript"></script>
да статья хорошая, зашёл по поисковому запросу, думал...что будет чтобы нажал на ссылку, а у него в БРАУЗЕРЕ автоматом ctrl+d нажалось. Незнаете как?
Статья как раз об этом, в шапке сайта (под полем поиска) наведите курсор на звездочку и затем щелкните на ссылку 'В избранное' — это будет аналогом нажатия на Ctrl+D на клавиатуре.
протестировал свой сайт в Фаерфоксе www.progs9.narod.ru — все для веб мастера. оказалось не работает. попробовал код, что тут предложен, работает, но в окне добавления зачем-то стоит галочка «загружать в боковую панель». а нельзя без этого поля с галочкой? при ручном добавлении той галочки нет. значит нужно что б и при сохранении в фовариты по ссылке тоже не было.
наконец-то, нашел достойный вариант. Молодец автор! Все толково объяснил, я сделал как написано и все работает. На мозилле точно пашет а что еще надо? Спасибо огромное таким людям как автор, учат нас дурней...
Спасибо!
Спасибо за хороший совет! Очень помогло. Я сам сайт делаю — akciy.ru, сайт на Joomle там тоже есть кнопка избранное. Спасибо ещё раз.
Во втором примере нужно перед переменными добавить var:
var title=document.title; var url=document.location;
Иначе не во всех браузерах будет работать.