Pokud vás štve, že po nainstalování Service Pack 2 pro Windows XP
(případně jiného patche) nefunguje v Internet Exploreru zjednodušené
přihlašování ve formě http://username:password@example.com
,
dá se to řešit úpravou registrů.
Vytvořte si soubor iefix.reg s tímto obsahem a pak jej spusťte:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_HTTP_USERNAME_PASSWORD_DISABLE]
"iexplore.exe"=dword:00000000
"explorer.exe"=dword:00000000
Změna se bude týkat všech uživatelů počítače. Pokud ji chcete omezit
jen na aktuálního uživatele, zaměňte klíč HKEY_LOCAL_MACHINE za
HKEY_CURRENT_USER.
Nemám rád automaticky generované vysvětlivky. Tím myslím strojové
podtržení určitých zkratek (např. HTML nebo CSS) a doplnění
o vysvětlivku v title. Dopadá to asi takto:
Ta přednáška o prasatech je v HTML a najdeš ji na adrese http://www.la-trine.cz/HTML/kscm.php –
tak se na to podívej.
Tato „feature“ nepřináší čtenáři žádnou přidanou hodnotu.
Spíš naopak, odpoutává pozornost od textu. Autor by měl vědět, pro koho
píše a sám se rozhodnout, jestli je třeba zkratku vysvětlit,
kde tak učinit a jakým způsobem. Tohle automat nevymyslí.
Bohužel, spoustě uživatelů připadá jako skvělý nápad si do svého
CMS automatický vysvětlovač nainstalovat. Vážně si myslíte, že člověka
nechápavě hledícího na zkratku CSS, přivede title=Cascading
Style Sheet k prozření? Nebo že v pojednání o plovoucích boxech je
nutné čtenáři význam CSS připomenout?
p.s. Počítačoví odborníci, víte, co znamená PCI?
Podle specifikace zná XML
pouze pět předdefinovaných entit. Jsou to
< > & " '
. Všechny
ostatní je třeba buď definovat, nebo (lépe) zapisovat v číselné podobě
či rovnou jako znak. Takto doporučuji psát i '
,
kteroužto entitu Internet Explorer nezná.
XHTML samozřejmě používá i další entity, ale pokud pracujeme
s textem, který má být přístupný zároveň v prohlížeči jako XHTML a
kupříkladu ve čtečce jako RSS, je třeba se přizpůsobit
neužšímu místu.
Číselná podoba zápisu entity má tvar &#xxx;
, kde
xxx je ordinální hodnota znaku. Takže třeba entitu ­
,
která odpovídá znaku s kódem 173, zapíšeme jako ­
(desítkově) nebo ­
(šestnáctkově). Při převodech
pozor na to, že ekvivalentní jsou i zápisy
­ ­ ­
.
Dále lze přímo zapsat znak (třeba ten s kódem 173). Obecně ale
tento postup aplikujte jen v případě, že kódujete dokument v unicode.
V jiných kódováních totiž nemá spousta entit své jednoznakové
protějšky.
Příklad převodní tabulky najdete v tomto fóru.
Ještě bych dodal, že pro určité výstupy bývá vhodné zaměnit
typografické znaky za jejich ASCII alternativy. Tedy namísto „českých
uvozovek“ použít "počítačové"
, taktéž pevnou mezeru
zaměnit za obyčejnou a pomlčky za spojovníky. Dělá se to kvůli
neschopnosti cílového zařízení správně tyto znaky interpretovat.
Zkuste si v IE
verze 6 otevřít tento
článek (htmlshot) na ILblogu a pomalu rolovat
stránku dolů (kolečkem myši nebo posuvníkem). V okamžiku, kdy se zobrazí
celá tabulka, zmizí blok textu začínající slovy Ve stránce je vložen
kód obrázku a končící onou tabulkou. Pokud rolujete dále, po
zobrazení další tabulky opět zmizí předcházející text.
Tabulky jsou plovoucí obrázky následované „čističem“
<br clear=left>
. Z hlediska čistoty kódu jde samozřejmě
o zbytečnou konstrukci, ale v souvislosti s ILblogem nemůže být
o čistotě kódu řeč vůbec.
Je to ukázka peek-a-boo bugu, nebo jde
o něco jiného?
Když už jsem nakousl ILblog: nejsem moc zvědavý na blogy
„významných“ lidí, protože bývají narozdíl od autorů nezajímavé.
Schopnost něco dokázat v oboru neimplikuje schopnost zajímavě psát.
V tomto směru je ILblog velmi
příjemnou výjimkou!
Předchozím článkem,
který hodnotil projekt Webylon, jsem rozpoutal trošku nechtěnou diskuzi na
téma validita, sterilita, sexualita a kompatibilita. Moment… ne, tak o tom
předposledním diskuze nebyla.
Dovolte mi takové shrnutí:
Validita primitivní:
- patří sem uzavírání značek, vkládání hodnot atributů do uvozovek
v XHTML atd. - díky ní je zápis jednoznačný - lze jej strojově zpracovat - pro
HTML nutnost a netřeba o ní diskutovat - nedodržování je u profesionála
neomluvitelné
Validita dle W3C:
- např. povinné uvádění atributu alt
v img
elementech, nepoužívání neexistujících
CSS vlastností apod. - díky ní je zápis validní dle W3C (ověřuje validator.w3.org) - lze jej vhodně
zobrazit na všech zařízeních (plán do budoucna) - konstruktivní diskuze je
třeba (hnací motor vývoje webdesignu) - nedodržování: - z neznalosti
(nedostatek na straně tvůrce) - z dobrých důvodů (nedostatek na
straně W3C?)
Weby validní dle W3C mohou být označeny ikonkou nebo odkazem, která tuto
skutečnost potvrzuje. Ta představuje pro tvůrce webu jakousi konkurenční
výhodu, neboť tvořit W3C validní weby je přínos, ale ne samozřejmost.
Význam pro zákazníka proberu níže.
Validita dle W3C NEznamená:
- kvalitu kódu - přístupnost - lepší optimalizaci pro vyhledávače
- omezení grafického zpracování
Pro zákazníka je tedy známka validity jen vodítkem ke znalostem a úrovni
práce toho kterého webdesignérského studia. Nikoliv zárukou kvality
(ať už studia nebo webu). Myslím, že nelze ani přeceňovat kompatibilitu
webu s budoucími generacemi prohlížečů, protože před jejich nástupem
proběhne ještě hodně redesignů (nebo firma zkrachuje ;).
Význam validity:
Validita je tedy pouhou startovní čárou při tvorbě webu, teprve za ní
vzniká možnost projevit své schopnosti. V mnoha případech se bohužel
stává i omezujícím kritériem, nebo dokonce cílem. To má smutné
následky, jakým je třeba:
Sterilita:
- vedlejší efekt úzkostlivé snahy být validní dle W3C - nepoužívání
proprietárních rozšíření prohlížečů (viz)
- projev nedostatku grafického cítění - stránka se nemaluje, ale
programuje
Pro tvůrce sterilních webů použil Jiří Bureš trefné označení
suchar.
A na závěr zrekapituluji jev, kterým se vrátím zpět k Webylonu:
Nekompatibilita:
- stav, kdy různé prohlížeče rozumí stejné vstupní informaci jinak
- vzniká buď neexistencí standardu, nebo jeho nedodržením ze strany
vývojářů prohlížeče - předchází se jí standardizací (snaha W3C)
Pokud přímo prostředí, kde nekompatibilita vzniká (CSS, JavaScript,
HTML), nabízí prostředky, jak ji řešit, nemělo by
se šahat po silnějších nástrojích. Velmi silným (a tupým) nástrojem je
Webylonský lék. A tudy ne,
přátelé.
Aneb Webylon.
Byly doby, už je to pradávno, kdy se mezi blogery vášnivě diskutovalo
o takových podivnostech, jako je validita, standardy a oddělení obsahu od
formy. Dnes už je dodiskutováno a titulkem „Validita je
k ničemu“ nebo „Validita na hrad“ nejspíš čtenáře
příliš nešokuji a leckterý webloger si jen poklepe na čelo: „To už
bylo, dál. Písmeno!“.
Projekt Webylon přišel přesně
o dva roky později, než měl. Tehdy mohla jeho sláva dosáhnout hvězd, dnes
dosáhla jen několika zmínek (Yuhů,
llook, Rony).
A jsem dost skeptický k tomu, že by Chamurappi, autor Webylonu, živější
diskuzi na dávno probraná témata rozpoutal. I když bych mu to přál.
Deevangelizace
Ale pryč s pesimismem. Pokud Vaše sympatie patří sdružení W3C,
rozhodně si přečtěte Webylonskou kritiku. Jednak má
povídání originální styl a celé je prodchnuté starověkým Babylónem, za
druhé je to jeden ze vzácných zdrojů alternativních názorů. Tím nechci
říci, že s autorem vždy souhlasím, ale pro utvoření zdravého názoru je
třeba slyšet výpověď více stran.
Rád bych citoval ze stránky Otázky víry, kde se Chamurappi
vyjadřuje k otázce validity:
Bobřík validity – oběť už „umí“ a na svých webech se tím
chlubí slavnými oranžovobílými ikonkami Valid! od W3C. A protože
„umí“, tak si věří. A protože si věří, tak nevěří těm, kdo
v neomyslnost konsorcia nevěří. Zuřivě odmítá jakékoliv proprietální
možnosti konkrétních prohlížečů. Pojem „využití možností
konkrétního prohlížeče“ jí zůstal v hlavě zafixován jako symbol zla
a chyba těch, kdo nevěří.
Jako programátor rozumím validitě ve smyslu korektního zápisu. Validita
se však stala modlou a jejím vedlejším projevem je pak sterilita.
Všimli jste si, jak jsou si dnešní „hezké weby“ navzájem podobné?
Tvůrčí invenci střídá ikonka Valid.
Lék na neexistující nemoc
Webdesign dle standardů je zatím utopií. Dnes se tvoří stránky
především podle průniku schopností prohlížečů a ten se občas lehce
roztáhne použitím hacku. Pokud si lépe přečtete předchozí citát,
uvědomíte si, že Chamurappi volá po využívání možností všech
prohlížečů. Tedy nikoliv průniku, ale sjednocení.
A jde ještě dál. Nabízí nástroj, která umožní takové weby snadno
psát. Webylonský lék.
Revoluční přístup? Alternativní webdesign? Nejsem
si jist…
Jaký je rozdíl mezi oním průnikem a sjednocením? Pro mě osobně
téměř žádný. V graficky rozvernějších webech si rád hraji
s průhledností a obarvím i scrollbar, a že je to za cenu ztráty validity
CSS souboru mi skutečně žíly netrhá. Ale kam jít dál? Jaké další
proprietární funkce využít? Třeba napsat flashový web a k tomu HTML
alternativu? Ano, takovou blbost jsem před
lety udělal. Jenže za cenu dvojí práce a jedněch peněz. Never more.
Je to asi díky praxi a zkušenostem, ale dnes na omezení prohlížečů
nenarážím. Otevřu pověstný „notepad“ a píši. Necítím se omezován
a tím pádem ani nemám potřebu použít Webylonský lék.
Krom toho, onen lék není nic originálního: server upraví dokument podle
hlavičky user-agent. Trik je sice v podání Chamurappiho vyveden do
dokonalosti, jeho použití však důrazně nedoporučuji. Kdysi jsem podobnou
fintu také vyzkoušel a vracel prohlížečům různé verze .css souboru
(zpracováním přes PHP), ale přestalo fungovat kešování. Naprogramoval
jsem tedy v PHP kešovací modul, ale ten byl jen zdrojem dalších
problémů.
Dvojí Webylon
Webylon jakožto kritik W3C je mi svým netradičním postojem
přinejmenším sympatický. Toto je jeho silná parketa. Bohužel, v mých
očích celý projekt shazuje onen „lék“. Jak už jsem uvedl, před
několika lety to mohla být bomba, dnes je to krok zpět.
Přál bych Webylonu, aby se této rozdvojenosti zbavil. Ačkoliv tuším,
že „lék“ existoval dřív než filozofický obsah webu, bylo by dobré jej
nechat zmizet v propadlišti dějin a věnovat se odvážným myšlenkám.
Otevírat lidem oči, zbavovat je zaslepenosti a inspirovat k diskuzi. Takový
projekt by se mi líbil. A chybí tu jak sůl.
Jiří Kosek napsal svůj první článek na
Interval.cz a hned jím rozpoutal bouřlivou diskuzi. Je v ní víc vášně
než argumentů. Kdyby autorem článku nebyl pisatel tak zvučného jména, zřejmě by byl
v komentářích rychle odbyt.
Z toho celého u mě převládají dva dojmy:
- pozitivní: je tu velká spousta webdesignérů, kteří mají zájem
tvořit kvalitní weby moderním způsobem
- negativní: spousta diskutujících brání své vyznání a haní
opačné se zřejmým fanatismem, místo argumentů nastupují emoce
Z hlediska zápisu je mezi HTML 4.01 a XHTML 1.0 tak drobný rozdíl, že
jít kvůli tomu do zbraně je absurdní. Ale děje se to. Což potvrzuje
fanatický přístup k problematice. Zkusím poukázat na několik
paradoxů:
Paradox č. 1
Skalní zastánci oddělování obsahu (HTML) od formy (CSS) nejsou
schopni oddělit diskuzi o HTML od diskuze o CSS.
Přitom XHTML a HTML mají naprosto tytéž prostředky, jak CSS
implementovat. Taktéž značka FONT je v označena
jako Deprecated už v HTML 4.
Paradox č. 2
„Internet Explorer není schopen zobrazit XHTML stránky,“ tvrdí
diskutující v komentáři, který napsal v MSIE a odeslal z XHTML validní
stránky Intervalu.
XHTML verze 1.0 je navrženo tak, aby jej bylo možné zobrazit i ve
straších prohlížečích, jako je například IE. Otázkám zpětné
kompatibility je věnován dodatek C specifikace.
Paradox č. 3
O tom, že stránka je v XHTML větší a zabírá více místa, je
možné vést stovky kilobajtů zbytečných diskuzí.
Úvahy nad úsporou datového objemu bývají obvykle užitečné. Třeba
v oborech, které se zabývají komprimací videa a hudby. Uvažovat nad
bajtíky je mrháním časem.
Paradox č. 4
„HTML dovoluje ‚prasárny‘, které Vám u XHTML neprojdou“ soukal
ze sebe, zatímco se cpal pizzou, drobky mu padaly na klávesnici a pak mastnou
rukou klikl na tlačítko odeslat.
Jste-li prasátka a máte-li rádi bordýlek, ať už v kódu, na disku nebo
ve svém pokoji, nepomůže Vám ani XHTML. Chyba není na straně W3C, ale ve
špatné výchově, kterou Vám rodiče poskytli ?
Paradox č. 5
XHTML píší odborníci, HTML laici.
Asi nejdůležitější moment: Pokud pod pojmem XHTML chápete správně
sestavenou a platnou XHTML stránku, tak je nutné i pod pojmem HTML chápat
jen správně sestavený dokument. Ačkoliv si spousta designérů
myslí, že také tvoří HTML, často to není pravda. Prostě píší textový
soubor s využitím HTML značek, který umí jejich prohlížeč nějakým
způsobem zobrazit.
Takže obojí, jak HTML tak i XHTML, vyžaduje od autora výbornou znalost
problematiky.
A tímto bych článek uzavřel. Sám používám výhradně XHTML
z důvodu kompatibility s XML. Ta otevírá dveře do dalších dimenzí
zpracování dokumentů. Na druhou stranu vím, že převod HTML XHTML je proveditelný plně
automaticky.
Jako
slepec na střelnici, který se marně snaží trefit růži. Tak si připadám
při ladění JavaScriptu, který generuje HTML výstup. Pokud se napoprvé
netrefím, hledání chyb bývá zdlouhavé a nervy drásající.
Nesmírně užitečnou pomocí je proto vypsání kódu, který prohlížeč
skutečně zobrazuje (rendered source). Tohle dokáže Internet Explorer díky
své proprietární vlastnosti outerHTML
. Stačí tedy nějakým
způsobem zobrazit následující:
document.documentElement.outerHTML
Na Choseho
blogu je popsáno jednoduché řešení využívající značky XMP.
Bohužel se tím přepíše původní obsah okna, podívejme se tedy po
elegantnějším řešení. Aby umělo tyto vychytávky:
- aktivace přes kontextové menu
- zobrazení zdrojového kódu do nového okna
- při označení části stránky se zobrazí jen její kód
…pokračování