<base> tag considered harmful?
Když jsem tvořil tyto stránky, chtěl jsem si trochu zjednodušit práci s
relativními odkazy, a tak jsem do nich vložil tag <base href='http://www.majda.cz/'
/>
. Vypadalo to jako rozumný nápad, zjednoduší se tím menu, odpadnou
problémy při případném pozdějším přesunu částí obsahu do jiných sekcí... prostě
paráda.
Ani omylem. Když jsem zkusmo nastavil skript ošetřující známou chybu 404 tak,
aby mi poslal informace o chybě na mail (nechtěl jsem mít na stránkách slepé odkazy a
tohle mi mělo pomoci je vychytávat), brzo byla moje schránka doslova zaplavena chybovými
zprávami. A 90 % chyb způsobilo právě ignorování tagu <base>
klienty. Webové prohlížeče jsou na tom celkem dobře (i když Internet Explorer má
občas menší úlety, zejména ze souborem favicon.ico
), ale všechny
možné crawlery, stahovače, RSS čtečky... z každé kategorie se najde minimálně
jeden program, který tag <base>
ignoruje nebo interpretuje
chybně. A přitom je to tak jednoduchá věc, která je v HTML snad od samého
počátku.
Takže moje rada zní: Pokud můžete, <base>
prostě na svých
stránkách nepoužívejte. Je spousta programů, které si s ním prostě neporadí. A
já se teď následující hodinku budu zabývat tím, jak ho ze svých stránek
"vykostit".