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

Голосование
Что вас интересует на нашем сайте больше всего?

База аддонов
База аддонов
42% [13 Голосов]

Форум, поиск ответов
Форум, поиск ответов
29% [9 Голосов]

Общение
Общение
19% [6 Голосов]

Новости
Новости
0% [0 Голосов]

Другое
Другое
10% [3 Голосов]

Голосов: 31
Вы должны авторизироваться, чтобы голосовать.
Начат: 16.05.2017 07:06

Архив опросов
Случайная тема
Друзья проекта
Разработка профессиональных продающих сайтов ARTCELL
Unlogic W0rst Lab
Система Smart для PHP-Fusion
Миничат
Только пользователи могут отправлять сообщения.

Oleg
Offline
· 25.10.2020 03:20
Redfield, поддержка есть, на оф.сайте. Я туда обращаюсь если нужно. Поддержки фактически нет на данном сайте. Не понимаю, почему он ещё работает...

Redfield
Offline
· 21.10.2020 13:56
Реально ли выступить на Краудфандинге чтобы получить финансирование для Развития php-fusion? у кого какое мнение?

Redfield
Offline
· 21.10.2020 13:51
Rush, Не согласен. Движок не умер. Нет его поддержки. Это разное. Либо его будут поддерживать энтузиасты. Либо при финансировании этот движок могли бы развивать.

Arthur_AV
Offline
· 30.09.2020 13:45
Ребята, всем привет. Кто в PHP силён, есть такие? dm Нужна помощь https://rusfusion.
..ad_id=3114

jikaka
OfflineAdmin
· 17.09.2020 14:41
ar

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

Гости:
» [Ваш IP] 04:32:39
/Статьи
» 69.162.124.230 04:31:23

» Всего пользователей: 1,562
» Новый пользователь: Keltun
В базе имеется
аддонов: 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 Голос

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

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