27. října 2004
.:Přidat k oblíbeným
.:Napsat e-mail





Články
Lekce
Příklady

Jak přidat stránku k oblíbeným položkám pomocí odkazu

Již archaický problém, jak přidat svou stránku do uživatelovy složky oblíbené pomocí odkazu. Často tyto odkazy vídáme na osobních prezentacích, ale i na některých portálech. Mám jisté pochybnosti o tom, že existují lidé, kteří si neumí přidat stránku k oblíbeným sami, a přesto kliknou na takovýto odkaz.. Nicméně, jak zjistíte letmým pohledem, právě moje stránka se navzdory tomuto dohadu podobným odkazem také pyšní. Domnívám se totiž, že takový link může návštěvníka upoutat a přimět k tomu, aby si rozšířil sbírku svých zamilovaných webů, i když by ho to jinak nenapadlo.

Dost bylo prázdných plků! K věci - přidat k oblíbeným poprvé (aneb v jednoduchosti je síla):

<html>
<head>

	<title>Přidat k oblíbeným</title>

<script type="text/javascript">
<!--
function setFav(title, address)
{
if (document.all && !window.opera)  // pokud uzivatel pouziva IE
	window.external.AddFavorite(address, title);

else // ovsem kdyz IE nepouziva
	window.alert("Obávám se, že váš prohlížeč nepodporuje metodu " + 
	"AddFavorite - k oblíbeným si tyto stránky " + 
	"budete muset přidat ručně:/");

return false;
}
//-->
</script>

</head>

<body>

<a href="#" title="9 z 10 návštěvníků doporučuje kliknout na tento odkaz!" onclick="return setFav('WebWorld', 'http://www.webworld.wz.cz');" onkeypress="return setFav('WebWorld', 'http://www.webworld.wz.cz');">Přidat k oblíbeným</a>

</body>
</html>

Přidat k oblíbeným

Tahle funkce běhala donedávna i na WebWorldu (stejně jako na mnoha dalších stránkách) - máte-li IE, udělá, co chcete, pokud ho nevlastníte, máte smůlu a musíte stránku přidat manuálně. To už je minulostí, díky jednomu článku Pavla Růžičky z Intervalu, který osvětlil, jak přidat stránky k oblíbeným i v Opeře. Pro Operu nejprve musíte poupravit odkaz - přidat atribut rel (ostatními prohlížeči ignorovaný - i když záhy zjistíme, že ne úplně všemi ostatními) s hodnotou sidebar:

<a href="#" title="9 z 10 návštěvníků doporučuje kliknout na tento odkaz!" rel="sidebar" onclick="return setFav(this, 'WebWorld', 'http://www.webworld.wz.cz');" onkeypress="return setFav(this, 'WebWorld', 'http://www.webworld.wz.cz');">Přidat k oblíbeným</a>

Funkce SetFav by pak mohla vypadat asi takto:

function setFav(odkaz, pageTitle, pageAddress)
{
  if (document.all && !window.opera)   // jedna se o IE
  {
    window.external.AddFavorite(pageAddress, pageTitle);
    return false;
  }

  else if (window.opera && window.print)  // jedna se o Operu
  {
    // Pouze zmeni title odkazu,
    // k oblibenym se stranka ulozi diky atributu rel.
    // Jako popisek by se normalne pouzila hodnota atributu title
    // v danem odkazu, ale to my nechceme, proto ho zmenime
  
    odkaz.title = pageTitle;
    window.alert("Budete muset odznačit zaškrtávací" + 
	        "políčko 'Show in hotlist panel'");
    return true;
  }

  else if (window.sidebar && window.sidebar.addPanel)
  {	
    // jedna se o prohlizece na bazi Mozzily
    // je lepsi se zeptat a uvest veci na pravou miru:
    if (window.confirm("Přidat stránku jako nový panel?"))  
    {
      // prida stranku jako sidebar, ne k oblibenym!!!!
      window.sidebar.addPanel(pageTitle, pageAddress, ""); 
      return false;
    }
  }

  window.alert("Lituji, ale nezdařilo se mi přidat " + 
               "stránku k vašim oblíbeným položkám, " + 
               "budete si ji asi muset zařadit ručně " + 
               "(např. stiskem kláves Ctrl-D).");
  return false;
}

Přidat k oblíbeným

Bohužel řešení pro Mozillu a potažmo ani pro Operu není úplně stoprocentní. V prohlížečích na bázi Mozilly nelze stránku přidat k oblíbeným jako takovým. Je možné vytvořit pouze takzvaný sidebar (co to je se dozvíte třeba na stránkách Czilla a nebo si spusťte Mozillu a koukněte se doleva ;o). Proto je slušné uživatele minimálně upozornit na to, že děláte něco úplně jiného, než původně chtěl, aby měl případně ještě možnost couvnout.

Co se Opery týče, tady můžete vše obejít jen taktním upozorněním na malé zaškrtávací políčko, které by mohlo způsobit opět nechtěné přidání stránky do hotlist panelu (viz. obr.):

Show in hotlist políčko

Ovšem nejzábavnější účinky má tato funkce v Mozille Firefox. Červená Panda totiž vůbec neví, jak se má k choulostivé situaci postavit, takže se pro jistotu ptá hned několikrát. Nejprve se ujišťuje, zda tedy chcete stránku uložit jako sidebar, potom vám nabídne uložení stránky s pravým titulkem odkazu a na závěr vám ji chce vnutit ještě jednou - tentokrát už se změněným titulkem. Neopatrnému uživateli se tak může přidat hned dvakrát;o) Nejsem si úplně jist, ale mám skromnou hypotézu, že tuto kuriozitu způsobuje právě atribut rel, který ve FireFoxu funguje podobně jako v Opeře. Přesto je mi to podezřelé, jelikož funkce vrací hodnotu false, takže by se mělo provádění odkazu jako takového ignorovat - vážně záhada. Nevíte někdo, jak se věci mají?

Závěrem:

Funkce umožňující zařadit stránku mezi oblíbené i v Opeře je sice lákavá, ale důkladně bych se zamyslel nad skutečností, zdali ještě vůbec zůstává u toho, co vlastně chceme, a kolik nebezpečí skýtá. Rozhodně bych stále ještě úplně nezavrhoval první, o hodně jednodušší, verzi setFav. Je na vás, jak se rozhodnete - máte na výběr. Já osobně jsem se přiklonil k druhé funkci s omezením na zjištění, zda je prohlížeč Opera, či Explorer. Pro všechny ostatní (včetně těch na bázi Mozilly) vyskočí hláška: "Lituji, ale atd." Z jednoduchého důvodu, sidebary nejsou to samé, co oblíbené. Kdybych chtěl něco přidávat mezi sidebary, bylo by na odkazu napsáno přidat jako sidebar...




<< Zpět na seznam článků
 
_
^
Back to top

Valid XHTML 1.0!   Valid CSS!
TOPlist