Interval.cz
Hrßtky s titulkem v zßhlavφ okna

Skript∙ a tip∙, kterΘ r∙zn∞ cviΦφ se stavov²m °ßdkem prohlφ₧eΦe, mßme zde na Intervalu dostatek p°φklad∙. V tomto Φlßnku se podφvßme, zda lze titulek v zßhlavφ okna prohlφ₧eΦe vyu₧φt i k n∞Φemu jinΘmu, ne₧ je such² nßzev strßnky.

Nejprve si shr≥me zßsadnφ pravidla:

  • Text titulku zßhlavφ okna se uvßdφ mezi pßrovou znaΦku <title>.
  • Element TITLE pat°φ do hlaviΦky dokumentu.
  • Pokud strßnky obsahujφ rßmce, je zobrazen titulek strßnky s framesetem, titulky dokument∙ v jednotliv²ch rßmcφch nemajφ na zßhlavφ okna vliv.
  • Element TITLE je povinn², pokud vÜak nenφ uveden nebo je prßzdn², IE a Opera zobrazφ v zßhlavφ okna URL, Mozzilla a Netscape nechß v zßhlavφ pouze nßzev prohlφ₧eΦe.
  • Element TITLE by m∞l v hlaviΦce nßsledovat a₧ za meta-tagem k≤dovßnφ, jinak se Φasto stßvß, ₧e titulek nenφ zobrazen sprßvn²m k≤dovßnφm a hlavn∞ to velmi Φasto "rozhodφ" systΘm automatickΘho rozpoznßnφ k≤dovßnφ prohlφ₧eΦem a strßnka je pak zobrazena v ·pln∞ jinΘm k≤dovßnφ, ne₧ je uvedeno v meta-tagu.
  • JavaScriptem m∙₧eme k textu titulku p°istupovat p°es objekt document.title.

Z v²Üe uvedenΘho Φlßnku je ·Φel TITLE jasn², pokud vÜak uva₧ujeme o cφlen∞ zam∞°enΘ aplikaci, nap°φklad na intranetu, kde se pou₧φvajφ k prohlφ₧enφ strßnek klasickΘ prohlφ₧eΦe (ne tedy r∙znß Φtecφ za°φzenφ nebo alternativnφ prohlφ₧eΦe), m∙₧eme i titulek do jistΘ mφry vyu₧φt ke specißlnφm efekt∙m. Je vÜak dobrΘ v∞d∞t, ₧e n∞kterΘ zßsahy, aΦ jsou funkΦnφ, mohou znev²hodnit pozici naÜich strßnek ve vyhledßvaΦφch, znesnadnit prochßzenφ strßnek u₧ivatel∙m pou₧φvajφcφm nevizußlnφ prohlφ₧eΦe a vytvo°it tak bariΘru naÜeho webu.

Co mo₧nΘ nenφ:

  • jakkoli ovlivnit vzhled (styl) zßhlavφ okna (font, barvu)
  • vklßdat HTML znaΦky, obrßzky, odkazy - obsahem m∙₧e b²t opravdu pouze text
  • nenφ povolen nap°φklad ani atribut title pro kontextovou nßpov∞du
  • obsluhovat udßlosti (onclick, onmouseover atd.)

I p°esto zb²vß pßr trik∙, kter²m m∙₧eme zßhlavφ °ekn∞me oko°enit:

  • m∙₧eme pou₧φt specißlnφ znaky zadßvanΘ entitami
  • m∙₧eme pomocφ obvykl²ch znak∙ slo₧it r∙znΘ grafickΘ vzory, ornamenty nebo symboly
  • m∙₧eme vlo₧it dostatek ned∞liteln²ch mezer, Φφm₧ se ze zßhlavφ okna odsune text nßzvu prohlφ₧eΦe
  • pomocφ JavaScriptu m∙₧eme p°φmo za b∞hu m∞nit obsah titulku strßnky
  • v IE m∙₧eme do viditelnΘ Φßsti zobrazit maximßln∞ 96 znak∙, Opera zobrazφ maximßln∞ 132 znak∙, Mozilla 136, zbytek je o°φznut

Pokud chcete hojn∞ vyu₧φvat specißlnφ znaky, je nejlepÜφ pou₧φvat pro k≤dovßnφ strßnky UTF-8. S pomocφ pom∙cky "Mapa znak∙" si m∙₧ete p°φmo vybrat po₧adovan² znak. Znak∙m, u kter²ch nenφ uvedena mo₧nost zadßvßnφ p°es ALT na numerickΘ klßvesnici se vyhn∞te - nemusφ b²t korektn∞ zobrazeny ve vÜech prohlφ₧eΦφch a na vÜech systΘmech. Je mo₧nΘ zadßvat znaky i entitami, ty si vyberete nejlΘpe v tabulce specißlnφch znak∙.

ProhlΘdn∞te si ukßzku strßnky v k≤dovßnφ UTF-8. Zde jsou na jednotliv²ch °ßdcφch uvedeny ukßzky mo₧nΘ "dekorace" titulku - poklepßnφm myÜφ se text nastavφ do titulku okna. Na jednu v∞c je vÜak t°eba upozornit. Zatφmco mezi znaΦky zapisujeme entity specißlnφch znak∙, pokud pou₧φvßme pro nastavovßnφ titulku JavaScript document.title='Nov² text titulku';, pak entity nenφ mo₧nΘ pou₧φt, znaky je pot°eba zadat p°φmo v jejich podob∞ v k≤dovßnφ UTF-8. Nap°φklad mφsto entity pro ned∞litelnou mezeru &nbsp; je t°eba zadat znak pomocφ numerickΘ klßvesnice jako ALT-0160. Tyto k≤dy zjistφme pomocφ Mapy znak∙.

Zajφmav²m efektem m∙₧e b²t rolovßnφ textu v zßhlavφ okna (jakoby Marquee v titulku). Vyu₧ijeme nßsledujφcφ skript:

msg=top.document.title; // p°evzφt aktußlnφ text z titulku okna
l=msg.length; // zjistit dΘlku
i=l-1; // poΦet rolovan²ch znak∙

function movetitle()

  top.document.title=msg.substring(i,l)+msg.substring(i,0); // nastavit titulek na od°φznut² poΦet rolovan²ch znak∙ z konce a p°idat zbytek zaΦßtku
  i=(i+1) % l // posunout rolovßnφ - zv²Üit o poΦet rolovan²ch znak∙ a vypoΦφtat zbytek po vyd∞lenφ poΦtem rolovan²ch znak∙
}
setInterval("movetitle()",50); // nastavit opakovanΘ provßd∞nφ rolovßnφ
 

DalÜφm efektem m∙₧e b²t rozblikßnφ titulku okna, kterΘ se m∙₧e hodit pro upoutßnφ pozornosti v p°φpad∞, ₧e okno naÜφ aplikace nenφ aktivnφ. Jakmile okno nebude v pop°edφ (ztratφ focus), zaΦne titulek blikat:

var msg=top.document.title; // p°evzφt titulek okna
var newmsg="                                                                                                                 "; // co zobrazovat p°i blikßnφ - zde ned∞litelnΘ mezery zadanΘ pomocφ ALT-0160
var tstat=true; // status pro p°epφnßnφ text∙ v titulku (blikßnφ)
var isblink=false; // blikat ano/ne

function BlinkTitle()
{
  if (!isblink)
  { // nemß blikat, okno mß focus
    if (!tstat)
    { // v titulku nenφ p∙vodnφ text
      top.document.title=msg; // vrßtit p∙vodnφ text
      tstat=true; // p°epnout status
    }
  }
  else
  { // okno nemß focus, blikat
    if (tstat)
    { // v titulku je p∙vodnφ text
      top.document.title=newmsg; // nastavit ("p°ebliknout") na nov² text
      tstat=false; // prohodit status
    }
    else
    { // v titulku je alternativnφ text
      top.document.title=msg; // vrßtit p∙vodnφ text
      tstat=true; // prohodit status
    }
  }
}

function StartBlink()
{
  isblink=true;
}

function StopBlink()
{
  isblink=false;
}

setInterval("BlinkTitle()",400); // nastavit opakovßnφ ₧ßdosti o blikßnφ

window.onblur = StartBlink; // pokud nemß okno focus (nenφ v pop°edφ), zapnout blikßnφ
window.onfocus = StopBlink; // pokud mß okno focus, neblikat
 

Jist∞ by se naÜlo i elegantn∞jÜφ °eÜenφ vypnutφ blikßnφ, ne ovÜem ka₧d² browser korektn∞ podporuje clearInterval(), tak₧e jsem volil rad∞ji tento postup, kter² je vcelku bezkoliznφ ve v∞tÜin∞ browser∙.

Na zßv∞r jen dodßm, ₧e pro systΘmy Windows existujφ takzvanΘ HTA aplikace (zjednoduÜen∞ vznikne takovß aplikace p°ejmenovßnφm HTML strßnky na soubor s p°φponou .hta), kde lze do titulku takΘ p°idßvat vlastnφ ikonku. Popis HTA aplikacφ vÜak vydß na samostatn² Φlßnek.

V∞°φm, ₧e se v Φlßnku poda°ilo vyvrßtit n∞kterΘ m²ty a ₧e n∞kterΘ z tip∙ se budou hodit pro VaÜe intranetovΘ aplikace nebo zvlßÜtnφ prvky na webu. VÜechny zdrojovΘ k≤dy ukßzek si samoz°ejm∞ m∙₧ete stßhnout.



Pavel R∙₧iΦka (29.1. 2003)
odborn² redaktor Interval.cz

Redakce Interval.cz |  Inzerce na Interval.cz |  Hledßme novΘ autory ISSN 1212-8651 
 ⌐ Zoner software, s.r.o., vÜechna prßva vyhrazena, tento server dodr₧uje prßvnφ p°edpisy o ochran∞ osobnφch ·daj∙.