Autor Zpráva
Petras
Profil
Nevím, jestli to patří spíš do diskuze Java nebo XHTML, snad jsem to to tedy umístila správně. Prosím o radu - na stránkách (XHTML 1.1) mám fotogalerii lightbox. teď jsem zkusmo dala stránky zvalidovat, ale stránky nejsou validní, protože znak "[" není dovolen v hodnotě atributu "rel".". Jedná se o část kódu
<a href="./../img/img/01.jpg" rel="lightbox[roadtrip]">
Neříkám, že je pro mě validita středobod vesmíru, nicméně by mě zajímalo, jak to vyřešit, aby stránky opravdu validní byly...
Chamurappi
Profil
Reaguji na Petrus:
jak to vyřešit
Neřešil bych to. Autoři lightboxu jsou čuňátka, která místo toho, aby si vymyslela vlastní atribut (který by též nebyl validní), zneužili rel, čímž ho degradovali na atribut, do kterého si kdekdo cpe cokoliv, takže ho nejde nijak rozumně využít, takže ho nikdo k ničemu nevyužívá, takže nedodržení syntaxe nikomu nevadí.

Asi by šlo upravit Lightbox, aby se místo hranatých závorek soustředil na nějakou jinou skupinu znaků, která je i podle zastaralého XHTML 1.1 v atributu rel legitimní.

Nebylo by užitečnější řešit problém, že tvá stránka kvůli XHTML nejde vůbec otevřít ve starších Explorerech?
Petras
Profil
Chamurappi:
Ono je to o chlup horší, než jsi popsal... Ještě včera jsem zkoušela FF, IE, Operu a Chrome a stránky fungovaly (IE Tester jsem ale zatím vynechala). Dnes jsem se v tom znovu pohrabala a k mému údivu neběhají v IE vůbec :( Měla jsem je udělané v HTML 4.01 Transitional a když vidím četnost používání XHTML, chtěla jsem zkusit změnu. Nicméně, jak to tak vidím (a čtu na diskuzích ohledně XHTML), vrátím se k prostému HTML. Ale pro vysvětlenou - jaký je důvod, že to neotevřou starší IE (když neberu v potaz, že mi to neběhá ani na nových, protože mám někde chybku)? A když odbočím od tématu a zeptám se - co je lepší využívat XHTML nebo HTML?
Chamurappi
Profil
Reaguji na Petrus:
jaký je důvod, že to neotevřou starší IE?
Nepodporují MIME typ application/xhtml+xml. Tedy de facto nepodporují vůbec XHTML.

co je lepší využívat XHTML nebo HTML?
HTML. Funguje všude a nehrozí, že se místo stránky zobrazí chybová hláška, pokud uděláš nějakou syntaktickou chybu.
Prohlížeče nevyčítají verzi z deklarace <!doctype>. Nevadí jim HTML stránka začínající na XHTML <!doctype>, proto se spousta lidí se domnívá, že používají XHTML, když ho deklarují, přestože to prohlížeče baští jako staré dobré HTML.

když vidím četnost používání XHTML, chtěla jsem zkusit změnu
Většina fandů XHTML ho nikdy doopravdy (tedy s MIME typem application/xhtml+xml) nepoužívala. Tvůrci webů jsou taková divná zvířátka, která se čas od času masově nadchnou pro něco, co nefunguje :-) … s tím je zapotřebí počítat a držet se raději pojmů „osvědčený“ a „funkční“ než „moderní“ a „pokrokový“. Technické detaily, které nejsou v důsledku nijak zajímavé pro uživatele, nejsou důležité.
Petras
Profil
Chamurappi:
Super, moc díky za osvětlení. Jen mě překvapilo, kolik tvůrců webů se "pyšní" tím, že nepíší v "obyčejném" HTML, ale v XHTML, tak jsem si říkala, co na tom je tak extra a chtěla si ten bájo XHTML pocit taky vyzkoušet :))) Už to přepisuji na staré dobré HTML, jen s menší úpravou na HTML 5, tak jsem zvědavá, co z toho vzejde.
Mildhouse
Profil *
Nejsou validní, i když tam znak [ není. Celkově rel="lightbox" je problém. Mě pomohlo vložit tam atribut rel pomocí JS :

<a class="lightbox" ...><img ...></a>
<script>
    $("a.lightbox").attr("rel", "lightbox[neco]");
</script>

Ale je to spíš takové sekernické řešení, spoléhám na to, že validátor nepoužívá JS.
Joker
Profil
Mildhouse:
Hlavně je nesmysl vyrábět další potenciální chyby řešením neexistujících problémů.
Rellik
Profil
Mildhouse:
Mě pomohlo vložit tam atribut rel pomocí JS :
Zbytečně tam cpát další JS. Stačí změnit podmínku ve scriptu lightboxu aby si všímal třeba místo rel= nově class=
Pro toto stačí změnit všechny rel= za class= a při psaní fotogalerie nedávat do zápisu rel="[něco]" ale class="[něco]" Pak to je validní a funguje to stejně ;)
Konkrétně u tohoto http://lokeshdhakar.com/projects/lightbox2/ - http://lokeshdhakar.com/projects/lightbox2/js/lightbox.js stačí změnit řádky 79, 163 a 169

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: