AAA Главная
Примеры PHP Примеры JavaScript Примеры Ajax Примеры CSS,HTML

Добавление страницы в избранное

Кроссбраузерное добавление страницы в закладки

Для добавления страницы в Избранное браузера Internet Explorer, вызывается стандартный метод AddFavorite:

<a href="" onclick="window.external.AddFavorite(location.href, document.title); return false;">
   Добавить в избранное этот сайт</a>

Однако,если страница IE открыта как embedded-объект в другом приложении, например в плагинах или при использовании компонентов для работы с html, то объект window.external присутствует, но его метод AddFavorite не срабатывает.

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

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

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

Вот такой кроссбраузерный код у нас получится:

// Добавить в Избранное
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;
        return true;
      }
      else { // Unknown
        alert('Нажмите Ctrl-D чтобы добавить страницу в закладки');
      }
    }
  }
  return false;
}

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

function add_favorite(a) {
   if(document.all) window.external.AddFavorite(document.location.href, document.title);
   else if (typeof(opera)=="object") { a.rel="sidebar"; a.title=document.title; a.url=document.location.href; return true; }
   else window.sidebar.addPanel(document.title,document.location.href,"");
   return false;
}

Пример ссылки "Добавить в Избранное" для этого скрипта:

<a href="#" onclick="return add_favorite(this);">Добавить в Избранное</a>

Использование конструкций try-catch позволяет скрипту правильно отрабатывать в любых нестандартных ситуациях, например в окне IE Tab, открытом в браузере Firefox.


Чтобы сделать страницу стартовой используйте следующий код:

Сделать стартовой страницей

Исходный код этого примера:

<p><a href="#" onClick="this.style.behavior='url(#default#homepage)';
 this.setHomePage('http://HtmlWeb.ru/java/example.php'); return false;">
Сделать стартовой страницей</a>



. http://www.vanna-doma.ru/ шторки для ванн.

© Copyright 2008- by KDG



Rambler's Top100