Забыли пароль?
Запросите новый здесь.

Голосование
Как часто вы посещаете данный сайт?

1 раз в день
1 раз в день
17% [1 Голос]

1 раз в неделю
1 раз в неделю
33% [2 Голосов]

1 раз в месяц
1 раз в месяц
17% [1 Голос]

Очень редко
Очень редко
17% [1 Голос]

Первый раз зашёл
Первый раз зашёл
17% [1 Голос]

Голосов: 6
Вы должны авторизироваться, чтобы голосовать.
Начат: 26.07.2022 08:08

Архив опросов
Случайная тема
Миничат
Только пользователи могут отправлять сообщения.

Redfield
Offline
· 17.04.2024 08:42

Redfield
Offline
· 10.04.2024 19:25
Сила в единстве. Чем больше людей будет объединено светлой идей для развития, тем выше шанс к успеху. Все в меру конечно. Но, вы ведь хотите большего? Возможно начало тут.

Redfield
Offline
· 10.04.2024 19:22
jikaka, у многихтак. я не зря пишу тут. Потому что все, хотим большего. Задумывались как? Если вы думайте что это невозможно. То зря. Начните с общения. Это даст повод собраться Единомышленикам

jikaka
OfflineAdmin
· 09.04.2024 16:01
Redfield, работа, дом, работа, дом, оп, выходные, работа, дом, работа, дом...

Redfield
Offline
· 04.04.2024 19:19
Ребята. Просыпайтесь уже. Что программисты и креатившики вымерли что ли? Но, есть ведь что делать.

Архив миничата
Сейчас на сайте
» Гостей: 10

Гости:
» [Ваш IP] 17:56:45
/Статьи
» Bing [Bot] 17:56:34
/Поиск
» 103.78.9.42 17:56:34
» 47.128.127.240 17:56:32
/Поиск
» 69.162.124.230 17:55:48
» 3.138.125.2 17:55:44
/moddb/error.php
» 47.128.119.234 17:55:43
/Поиск
» 18.118.12.222 17:55:42
/Новости
» 3.21.158.148 17:55:36
/Профиль
» 3.21.231.245 17:55:36
/Архив миничата

» Всего пользователей: 1,688
» Новый пользователь: 464rrad
В базе имеется
аддонов: 951
тем: 137
Иерархия статей
Кроссбраузерное добавление страницы в закладки

Добавить страницу в закладкиКроссбраузерное добавление страницы сайта в закладки реализуется с использованием JavaScript. Для добавления страницы в Избранное браузеров Internet Explorer и браузеров, работающих на движке IE, вызывается стандартный метод  AddFavorite. Однако здесь есть одна важная деталь. Если страница IE открыта как embedded-объект в другом приложении, например в плагинах или при использовании компонентов для работы с html, то объект window.external присутствует, но его метод AddFavorite не срабатывает. Это наиболее частая ошибка разработчиков, которые просто копируют код друг у друга без его понимания и тестирования. Также большой ошибкой будет использование на своем сайте только одного этого способа.

Браузеры на движке Gecko, такие как Firefox, Netscape, K-Meleon и другие, имеют объектwindow.sidebar и метод для добавления addPanel. Третий параметр метода недокументирован и является необязательным, поэтому в скрипте заменяется просто пустой строкой. Обратите внимание, что по умолчанию ссылка добавляется не совсем в закладки, а в боковую панель браузера. Для добавления страницы в нужную папку закладок выберите ее в выпадающем меню.

Для браузера Opera ссылка добавления в закладки должна иметь атрибут rel="sidebar". Но если этот атрибут ставить сразу по умолчанию, то некоторые браузеры типа Netscape будут отрабатывать функцию добавления в закладки дважды: первый раз через скрипт и второй раз через атрибут rel. Поэтому придется изменять атрибуты ссылки динамически, предварительно определив браузер проверкой типа объекта opera.

Если ни один из перечисленных способов не сработал, то не надо выдавать сообщение об ошибке или еще хуже, молча завершать выполнение скрипта. Будет гораздо правильнее показать пользователю доступный вариант решения задачи, например предложить вручную нажать комбинацию клавиш Ctrl+D.

Теперь, когда у нас есть все исходные данные, можно написать кроссбраузерный скрипт для добавления страницы в закладки. Чтобы не выносить скрипт в отдельный файл, открываем директорию /includes и в файле jscript.js в самом низу дописываем такой код:

Code
/***********************************************
* Add bookmark
***********************************************/
function add_favorite(a) {
title=document.title;
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") {
a.rel="sidebar";
a.title=title;
a.url=url;
a.href=url;
return true;
}
else {
// Unknown
alert('Нажмите «Ctrl+D», чтобы добавить страницу в закладки');
}
}
}
return false;
}

Сохраняем, закрываем. В место, где необходимо вставить ссылку на добавление закладки, пишем следующий код:

Code
<a href="#" onclick="return add_favorite(this);">Добавить страницу в закладки</a>

На этом техническая часть закончена.

Информация к размышлению

Хотелось бы отметить два момента.

Первое: качественно оформить ссылку можно простейшими стилями HTML, обязательно добавив узнаваемый значек. Например, вот такой Добавить страницу в закладки

Второе: будет целесообразно вставлять эту ссылку на все страницы так же, как это делают с широко известными аддонами для закладок соцсетей. Для этого необходимо найти место для ссылки в используемой Вами теме в разделе /themes, либо в файлах "включения" из директории /includes.

На этом всё. Удачи в разработках! Улыбаюсь


Статья добавлена 07.12.2012 в 05:26:10

Подготовлено для rusfusion.ru с использованием материалов из открытых источников.


Поделиться этой статьей
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:


#1 | Rush 09.12.2012 19:42
Avatar
Отсутствует
Администратор
Активный
С 31.08.2010 14:41
ctrl+d - самое кроссбраузерное решение)
не вижу хрома, сафари, и вообще сниппет уже стар походу
AnnetLab | @annetlab | GitHub Addons repo | AL Shop - open source e-shop for PHP-Fusion | PHPtoday.ru
www.cwer.ru/files/u215323/skach0ibtq6.gif
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
5 (Отлично!) - 1 Голос

Рейтинг доступен только для пользователей.

Пожалуйста, авторизуйтесьили зарегистрируйтесь для голосования.