Когда начинаешь искать решение для воплощения задуманного, а именно кнопки добавить в закладки, то упираешься в проблему. Суть проблемы в том, что на сегодняшний день до сих пор нет единого решения как это сделать во всех браузерах. А если углубится, то окажется что нет и разных решений, потому как некоторые браузеры вообще игнорируют любые попытки сделать это. Сегодня, четко и с минимальными трудозатратами это делает только браузер Firefox.
Что же делать с остальными браузерами, создатели которых не особо напрягаются по этому поводу? Поможет небольшой скрипт, который поможет браузерам что от них хотят, а тем которые вовсе не могут это сделать будет показано сообщение:
Нажмите CTRL-D, чтобы добавить страницу в закладки
Чтобы все это сделать, нам нужно для начала подключить скрипт. Добавьте его в отдельный файл и подключите в подвале или в шапке или же просто вставьте заключив в Ява-теги в той же шапке или подвале.
function getBrowserInfo() { var t,v = undefined; if (window.chrome) t = 'Chrome'; else if (window.opera) t = 'Opera'; else if (document.all) { t = 'IE'; var nv = navigator.appVersion; var s = nv.indexOf('MSIE')+5; v = nv.substring(s,s+1); } else if (navigator.appName) t = 'Netscape'; return {type:t,version:v}; } function bookmark(a){ var url = window.document.location; var title = window.document.title; var b = getBrowserInfo(); if (b.type == 'IE' && 8 >= b.version && b.version >= 4) window.external.AddFavorite(url,title); else if (b.type == 'Opera') { a.href = url; a.rel = "sidebar"; a.title = url+','+title; return true; } else if (b.type == "Netscape") window.sidebar.addPanel(title,url,""); else alert("Нажмите CTRL-D, чтобы добавить страницу в закладки."); return false; }
Теперь выведем в нужном Вам месте саму кнопку. Там где хотите ее видеть добавьте следующую ссылку с параметрами и событиями.
<a class="add_fav" rel="sidebar" href="" onclick="return bookmark(this);">Добавить в закладки</a>
Теперь можно проверить работу данной фишки. На сегодняшний день, а именно начало 2016 года, этот способ работает. Возможно вскоре появится что-то попроще, но пока я не нашел лучшего, кроссбраузерного решения. Если Вам попадется такое, поделитесь ним с другими и оставьте его в комментариях. Я обязательно добавлю его к статье.
На этом все, спасибо за внимание. 🙂