phpFashion

Na navigaci | Klávesové zkratky

Rubrika Web

http://user:pass@example.com pro SP2

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.


Když je spoluautorem automat

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?


Hlásí XML: error undefined entity?

XML

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.


IE bug: mizející text

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!


Konec W3C prostřednictvím psa II.

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é.


Konec W3C prostřednictvím psa pana Foustky?

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.


Bohové jsou šílení: Jiří Kosek nerad XHTML

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:

  1. pozitivní: je tu velká spousta webdesignérů, kteří mají zájem tvořit kvalitní weby moderním způsobem
  2. 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.


Rendered Source aneb jak zobrazit generovaný kód

source code 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í


phpFashion © 2004, 2024 David Grudl | o blogu

Ukázky zdrojových kódů smíte používat s uvedením autora a URL tohoto webu bez dalších omezení.