С каждым днем увеличивается количество вебмастеров, которые стремятся делать свои сайты одинаково удобными для пользователей всех браузеров, а не затачивают их только под Internet Explorer, как это было раньше. Наверное больше всего пользователи альтернативных браузеров не любят ссылку "Добавить в Избранное", которая встречается на каждом сайте, а работает только в Internet Explorer. Сейчас я расскажу как правильно реализовать на своем сайте данную функцию, чтобы она работала во всех распространенных браузерах.
Так как пользователю может понадобиться добавить в Избранное не только сайт (главную страницу), но и страницу на которой он находится, то мы подробно рассмотрим оба варианта, а вы сами решите какой из них использовать.
Добавить в Избранное главную страницу сайтаДавайте сначала рассмотрим чем отличается ссылка "Добавить в Избранное" для Internet Explorer от ее аналога в других браузерах, а потом обьединим их в одну. В IE используется функция window.external.AddFavorite(), которая принимает два значения: адрес страницы для добавления в закладки и ее название:
Добавить сайт в ИзбранноеДумаю обьяснять здесь ничего не нужно. А вот следующий пример мы рассмотрим подробнее. Код для добавления в Избранное для Opera, Firefox и Netscape выглядит следующим образом:
Добавить сайт в ИзбранноеКак видите это обычная ссылка с наличием дополнительного параметра rel="sidebar" который как раз и указывает браузеру на необходимость добавить сайт в закладки при клике на ссылке. Кроме этого в параметре title="" нужно указать с каким именем добавлять сайт в закладки. А вот адрес страницы, которая добавляется, прописывается в href="". Обычно указывается главная страница сайта и его название.
Теперь нам нужно сделать так, чтобы ссылка "Добавить в избранное" работала одинаково хорошо во всех браузерах. Так как код для IE работает только в нем, а параметр rel="sidebar" поддерживают только Opera, Firefox и Netscape, то ничто не мешает нам просто обьединить оба варианта в одну ссылку:
Добавить сайт в ИзбранноеДавайте решим более сложную задачу и вместо того, чтобы вручную прописывать адрес и название сайта, будем автоматически определять на какой странице находится в данный момент посетитель и предоставим ему возможность добавить в Избранное текущую страницу с соответсвующим адресом и названием.
Добавить в Избранное текущую страницуИтак, давайте снова начнем с Internet Explorer:
Как видите в коде ничего не изменилось, кроме входящих параметров функции window.external.AddFavorite(). В JavaScript-параметре document.title содержится название страницы, которое берется браузером из указанного нами заголовка документа, расположенного между тэгами Название страницы. Адрес текущей страницы браузер получает из адресной строки и присваивает его параметру location.href. Таким образом нет необходимости изменять вручную на каждой странице нужные нам параметры.
С браузерами Opera, Firefox и Netscape все немного сложнее. Нам придется написать небольшую JavaScript-функцию, которая будет работать примерно также как и уже известная нам функция в Internet Explorer. Мы поместим ее внутри ссылки, так что она будет занимать всего лишь одну строку, но для более легкого восприятия я ее немного отформатировал:
Добавить текущую страницу в ИзбранноеВ самом начале мы присвоили переменным url и title значения JavaScript-параметров window.document.location (адрес страницы) и window.document.title (название страницы). Далее мы создаем функцию bookmark(). С ее помощью мы из нескольких переменных, значением которых является адрес и название страницы, генерируем ссылку. Не забываем также о параметре rel="sidebar", который так же будет сгенерирован с помощью bookmark().
Теперь нам осталось обьединить код для Internet Explorer и других браузеров, чтобы получить одну кросбраузерную ссылку:
Добавить текущую страницу в ИзбранноеУ нас уже имеется функция, совместимая с основными браузерами. Теперь нам нужно как то совместить ее с пользователями.
Ломаем стереотипыТак как многие пользователи альтернативных браузеров уже привыкли к тому что ссылка "Добавить в Избранное" работает только в Internet Explorer и не обращают на нее внимания, то нам нужно как то ненавязчиво показать посетителю что мы позаботились о работоспособности данной ссылки в его браузере. Думаю наиболее удачным вариантом будет определять каким браузером пользуется посетитель нашего сайта и выводить соответствующий логотип возле ссылки. А можно просто вывести сразу все логотипы:
Копирование статьи запрещено.
В прошлом своём уроке я рассказывала о том, что такое раздел Избранное в ЖЖ. И несмотря на один довольно чувствительный минус, многие всё равно заинтересовались тем, что это такое и как работает (и неудивительно — штука на самом деле хорошая). Так что сегодня я расскажу самое главное — как же добавить интересную запись в избранное, чтобы потом не плутать по ЖЖ в её поисках, а сразу найти.
Итак, вы нашли интересную запись и хотите сохранить её на будущее в избранном своего аккаунта. Всё просто: вам нужно найти кнопку с сердечком, которая есть в каждой записи. Выглядит она вот так
Искать её нужно над текстом записи на небольшой панельки. Она может выглядеть вот так:
Всё зависит от того, какое оформление используется в журнале автора этой записи (или в вашем, если вы смотрите другие журналы в своём оформлении).
Если кнопку вы найти не можете (такое тоже бывает - в ЖЖ очень много стилей оформления, и в некоторых панели с кнопками нет. плюс любой пользователь может самостоятельно настроить дизайн своего журнала), ищите ссылку «В избранное» или «Добавить в избранное» под текстом записи:
В некоторых стилях она доступна уже в ленте друзей. В новой ленте друзей она будет у всех:
Если вы видите такую страницу — ура, вы нашли нужную ссылку или кнопку.
Вариант простой (и в перспективе неудобный)
Собственно, всё, на этом можно и успокоиться: у вас есть папка «Неупорядоченное», где сохранена ссылка на ту самую запись. Если и дальше так же добавлять записи, то они все будут оказывается в неупорядоченном.
Вариант сложнее и удобнее
А можно пойти по более сложному пути и попробовать разобраться, что же есть на промежуточной странице добавления в избранное:
После выбора всех нужных настроек нажмите на кнопку «Сохранить», и ваше избранное будет выглядеть гораздо опрятнее. Я уже начала составлять оглавление Школы ЖЖ в избранном сообщества (кстати, про такую каталогизацию напишу подробный урок, владельцам сообщества может пригодиться), и оно выглядит так .
Повторюсь, доступ к Избранному есть из профиля журнала или сообщества. Вот на примере Школы ЖЖ:
Вот всё, что я хотела рассказать сегодня. В следующих сериях: как удалять записи из избранного, как привести в порядок те стопицот записей, что уже есть в папке «Неупорядоченное» и, конечно, как составить оглавление своего журнала или сообщества с помощью избранного. Следите за обновлениями.
Тема очень популярная. Сервисы с созданием он-лайн закладок пользуются популярностью, но давайте попробуем решить задачу. Не будем использовать сторонний сервис, а решим данную проблему на сайте. В итоге посетитель, нажав на ссылку, сможет добавить сайт в закладки (аналогично Ctrl+D и тп).
Как добавить сайт в закладки (избранное)? Используем JavaScript Создаём файл с названием bookmark.js . В него вставляем указанный ниже код.Код JavaScript (файл bookmark.js )
Function AddToBookmark(a)
{
var title = window.document.title; // запоминаем заголовок активной страницы/вкладки
var url = window.document.location; // адрес тоже запоминаем
If (window.sidebar) { // такой объект есть только в Gecko
window.sidebar.addPanel(title, url, ""); // используем его метод добавления закладки
}
else if (typeof(opera)=="object") { // есть объект opera?
a.rel="sidebar"; // добавлем закладку, смотрите вызов функции ниже
a.title=title;
a.url=url;
return true;
}
else if(document.all) { // ну значит это Internet Explorer
window.external.AddFavorite(url, title); // используем соответсвующий метод
}
else {
alert("Для добавления страницы в Избранное нажмите Ctrl+D"); // для всех остальных браузеров, в т.ч. Chrome
}
Return false;
}
Ну и чтобы скрипт заработал, достаточно подключить файл bookmark.js
и вставить ссылку с js
, которая при клике вызывала бы работу скрипта.
Код HTML
Пример работы Добавления вкладок
Добавить ссылку в избранное
На самом деле я бы рекомендовал остановиться на этом варианте. Второй я предложу уже больше ради разнообразия, поскольку в нём есть свои проблемы.
Перед закрывающим тегом head вставляем
function addYoursite() {
if (document.all) window.external.addFavorite("http:/yoursite.ru", "Сайт yoursite.ru");
}
Только соответственно меняем yoursite.ru на адрес Вашего сайта.
И соответственно тоже меняем yoursite.ru на адрес Вашего сайта.
Готово. Проверяем.
С
егодня я вам расскажу об одной полезной функции на сайте - это ссылка, ну или кнопка «Добавить в закладки (избранное)». Эта функция позволяет пользователям добавить понравившуюся страницу вашего сайта в закладки браузера, чтобы в нужный момент быстро и легко получить доступ к ней.
Многие из вас скажут: – «Зачем дублировать функцию браузера, ведь эта кнопка есть в адресной строке?».
Да есть, но она там, во-первых, не очень заметна, во-вторых, некоторые пользователи вообще не знают о ней.
Для улучшения UI (юзер интерфейса), лучше продублировать эту функцию и расположить ссылку/кнопку «Добавить в закладки (избранное) » на видном месте. Например, если у вас интернет-магазин, то ее лучше вставить на карточку товара, если у вас блог, то – под или над статьей. Расположение все равно нужно тестировать. А так же ее можно разместить в шапке сайта на всех страницах.
В интернете представлено много разных способов реализовать эту функцию, но большинство из них работают не во всех браузерах, то не работает в старых, то в новых, то в IE, то еще где-то.
Поэтому пришлось, самому выбрать среди них самый лучший и немного дописать его. И сегодня я поделюсь этим способом с вами и предоставлю пошаговую инструкцию по установке ссылки/кнопки «Добавить в закладки (избранное)» на ваш сайт.
Для того чтобы сделать кнопку «добавить в закладки» для сайта нам нужно выполнить 3 простых шага:
Создание JS-файлаЕсли у вас на сайте есть javascript – файл подключающийся на всех страницах сайта, то используйте его и переходите к следующему шагу. Если у вас нет такого файла, нужно его создать. Для этого создадим папку с названием «js» в корневой папке сайта, а в ней уже файл и назовем его «functions.js».
< !DOCTYPE html> Заголовок магазина > Контент страницы
Копирование и сохранение кодаНиже приведен JavaScript-код, который нужно вставить в выбранный/созданный вами файл и сохранить его:
Function addFavorite(a) { var title = document.title; var url = document.location; try { // Internet Explorer window.external.AddFavorite(url, title); } catch (e) { try { // Mozilla window.sidebar.addPanel(title, url, ""); } catch (e) { // Opera if (typeof(opera)=="object" || window.sidebar) { a.rel="sidebar"; a.title=title; a.url=url; a.href=url; return true; } else { // Unknown alert("Нажмите Ctrl-D чтобы добавить страницу в закладки"); } } } return false; }
Добавление ссылки/кнопки на сайтТеперь нам осталось выбрать место на сайте и вставить туда следующую HTML-код:
Добавьте страницу в избранное!
Вот и все! Как это всё работает — Вы можете видеть (и попробовать) чуть ниже, а так же в сайдбаре этого сайта.
P.S. Хотелось бы добавить: Данный способ работает в следующих браузерах:
Одно время на сайтах была популярна ссылка «Добавить сайт в избранное», при нажатии на которую адрес сайта заносился в закладки браузера. Впрочем, почему была? Периодически на сайтах подобная ссылка встречается до сих пор. Беда в том, что используемый для этой цели скрипт не работает во многих браузерах, поэтому его ценность близка к нулю. В HTML5 расширились возможности атрибута rel тега и теперь с его помощью можно легко добавлять в избранное любые сайты и отдельные страницы.
Достаточно к ссылке добавить rel="sidebar" и при нажатии на нее откроется специальная панель в браузере для создания новой закладки. Пока значение sidebar поддерживают два браузера - Firefox и Opera, остальные игнорируют атрибут rel и переходят по указанной ссылке как обычно.
Чтобы расширить количество браузеров и добавить к ним IE, к ссылке также можно подключить небольшой скрипт. В итоге получится, что Firefox, Opera, Internet Explorer вызовут специальную панель, остальные браузеры перейдут по ссылке (пример 1).
Пример 1. Добавление в избранное
HTML5 IE Cr Op Sa Fx
Добавить в избранное function addBookmark() { if (document.all) window.external..ru"); }
Добавить в избранное
Как в итоге выглядит применение rel="sidebar" ? Результат зависит от браузера. Firefox к примеру открывает такое окно (рис. 1).
Рис. 1. Добавление в избранное в Firefox
В Opere вид несколько другой, но смысл аналогичный (рис. 2).
Рис. 2. Добавление в избранное в браузере Opera
У Internet Explorer самый лаконичный интерфейс (рис. 3).
Рис. 3. Добавление в избранное в браузере Internet Explorer
Пока использование атрибута rel непривычно из-за его слабой поддержки браузерами, но потенциал у него огромный, а число значений постепенно расширяется. Так что включать в ссылки его надо.