Autor Zpráva
JardaB
Profil
Zdravím,

rád bych na stránky s HTML 4.01 Transitional umístil pluginy sociálních sítí, bohužel si tím naruším validní kód. Zkoušel jsem je předělat na <object></object> kdy to sice fungovalo, ale nějak podezřele byla delší odezva zobrazení stránky. Je nějaké řešení? Údajně by měly tyto pluginy být validní v html5, má smysl přejít a předělat kód na html5? Případně poraďte jak na to?
Plaváček
Profil
JardaB:

Neřešit.
JardaB
Profil
Mám tedy brát w3c za výstřelek někoho, kdo neměl co dělat? :D
Chamurappi
Profil
Reaguji na JarduB:
Prohlížečů nerozlišují (a nikdy nerozlišovaly) verze HTML. Je úplně jedno, co deklaruješ — dokud to je (X)HTML, tak jsi v jurisdikci specifikace HTML 5 a vůbec nemá smysl validovat podle jakýchkoliv starších pravidel. (Což ještě nutně neznamená, že má smysl validovat podle pravidel HTML 5.)
JardaB
Profil
Prohlížeče to možná nerozlišují, nemůže to mít ale ve výsledku dopad např. na zhoršení pozice vyhledavačů, nebo něco podobného, tím, že kód není validní právě díky těmto sociálním pluginům? Osobně bych to asi ani neřešil, ale klient na tom tak nějak trvá... :/
Plaváček
Profil
JardaB:

Ani vyhledávače nikdy nevalidují.
JardaB
Profil
to neposoudím.. ale určité seo nástroje to zahrnují
Kcko
Profil
JardaB:
Ty určité SEO nástroje ovšem fungují na principu sbírání odkazů a v podstatě kontrolují pouze základní chyby na stránce, takže bych to neřešil, nebo máš nějaký zvláštní důvod proč na webu musí svítit zelená ikonka VALIDNÍ?
Plaváček
Profil
JardaB:

Ještě jednou. Prohlížeče nevalidují, ale zobrazují. Vyhledaváče nevalidují, ale vyhledávají. Jediný, kdo validuje, je validátor, a ten ti na web návštěvníky vodit nebude. Neřeš to. Odkaž klienta na toto vlákno.
Joker
Profil
JardaB:
Prohlížeče nebo vyhledávače validace nezajímá.
Validace je užitečná jen pro kodéra, aby si mohl ověřit, jestli někde na stránce neudělal chybu.
K tomu je nutné znát smysl a význam těch validačních hlášek (protože některé validační hlášky jsou důležité, jiné nepodstatné), takže při přístupu stylem „Vyhodilo to červenou ikonku, co mám změnit, aby to vyhodilo zelenou ikonku?“ je validace zbytečná.

určité seo nástroje to zahrnují
Ty „určité SEO nástroje“ dělají SEO hlavně samy sobě tím, že vyrábějí stránky o hodnocených webech a motivují lidi dávat si na web jejich ikonku.
Jejich výstup je vesměs kupa blábolů.
Chamurappi
Profil
Reaguji na JarduB:
dopad např. na zhoršení pozice vyhledavačů
Proč by měl vyhledávač posuzovat faktory, které vůbec nezajímají uživatele vyhledávače?

určité seo nástroje to zahrnují
Nevalidita je pro SEO mnohem méně nebezpečná, než používání podobných SEO nástrojů, které zkouší parazitovat na unikátním obsahu posuzovaných stránek.
JardaB
Profil
Mno s tím parazitováním to je asi pravda, ale to jsou potom i parazity portály které např. srovnávají a vyhledávají zboží atd. Já to chtěl mít validní hlavně kvůli klientovi, který to požadoval. Navíc tím, že je to validní si ničemu nepřitížím nikde, kdežto nevalidním kódem třeba někde mohu. Vy sice říkáte, že ne, ale s jistotou to také tvrdit nelze. Znám klienty, ti si umí vymyslet reklamaci na kravině a shodí to např. právě na tohle. Navrhnu klientovi alternativy, buď validní kód bez sociálních pluginů nebo s nimi a následnými chybami. Já nakonec ty pluginy nevymyslel, tak za ně neručím.
Kcko
Profil
JardaB:
Jak sám říkáš, je to produkt třetí strany. Takže můžeš argumentovat tím.
Chamurappi
Profil
Reaguji na JarduB:
tím, že je to validní si ničemu nepřitížím nikde, kdežto nevalidním kódem třeba někde mohu
I když teda nevím, o co přesně ses pokoušel (a co vůbec myslíš sociálním pluginem), v prvním příspěvku jsi psal něco o podezřelé odezvě. To nebyla přítěž?
Jakoukoliv úpravou si můžeš přitížit či polepšit v prohlížečích či vyhledávačích naprosto nezávisle na tom, jestli je směrem k zelenější nebo k červenější hlášce validátoru. Validita není rozhodující faktor.

Vy sice říkáte, že ne, ale s jistotou to také tvrdit nelze.
Na obhajobu svého odborného rozhledu v oblasti si dovolím podotknout, že už šest let provozuji vlastní validátor. Domnívám se, že hodně věcí s jistotou tvrdit můžu.

buď validní kód bez sociálních pluginů nebo s nimi a následnými chybami
Kompromis by skoro jistě najít šel. Zatím jsi tu nedal dostatek informací, aby se o to mohl někdo pokusit. Je docela možné, že děláš něco, co bychom jako chybu (či rizikovou konstrukci) vnímali i my, nejen validátor.
JardaB
Profil
To je tak trochu další důvod, proč chci mít kód validní, protože nemám příslušné zkušenosti v oblasti možných dopadů nevalidního kódu. Příklady jsem zde nedával, protože jsem malinko předpokládal, že se všeobecně o nevalidním kódu sociálních pluginů ví. Tím jsou myšleny pluginy typu Like (facebook) aj.

Př. pluginu:
<iframe src="//www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2Freference%2Fplugins%2Flike&amp;width=450&amp;height=46&amp;colorscheme=light&amp;layout=button_count&amp;action=like&amp;show_faces=true&amp;send=true" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:46px;" allowTransparency="true"></iframe>

Zkoušel jsem nahradit:
<object data="http://www.facebook.com/plugins/like.php?href=ADRESA_DANE_STRANKY&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light" style="border:none; overflow:hidden; width:450px; height:px"></object>

Při nasazení došlo k zvětšení odezvy zobrazení stránky, někdy se vůbec nezobrazila. Samozřejmě, že to je přítěž a tedy jsem od toho upustil. V toto případě budu mít radši kód logicky nevalidní.

Z výše uvedených příspěvků by tedy nemělo být nic proti tomu, abych kód předělal do html5, kde jsou puginy validní i když se od toho zase jinde zrazuje.
Chamurappi
Profil
Reaguji na JarduB:
Zkoušel jsem nahradit
Nahrazovat <iframe> za <object> rozhodně není dobrý nápad, funguje docela dost jinak. Proč ho potřebuješ nahradit? Jediná vada na tom tvém pluginu je atribut allowtransparency, který zajišťuje, že rám může být průhledný v Exploreru. Zbytek je přeci v pořádku, <iframe> je normální značka v HTML 4.

Podotýkám, že je opravdu absurdní se domnívat, že přítomnost atributu allowtransparency negativně ovlivní kohokoliv krom validátorů. Kdo ten atribut nezná (ať už je to prohlížeč nebo vyhledávač), ten ho ignoruje, to je základní fyzikální zákon HTML. Takže mazat ho jen kvůli validitě je hloupost.

by tedy nemělo být nic proti tomu, abych kód předělal do html5
Jak jsem již psal, verze reálně neexistují, takže mi formulace „předělání do HTML 5“ připadá divná. Jediné, co tím změníš, jsou pravidla validace a ty si můžeš změnit i v nastavení validátoru.

abych kód předělal do html5, kde jsou puginy validní
Při validování podle HTML 5 bude vadit nejen allowtransparency, ale i scrolling a frameborder.
JardaB
Profil
Mno já zapomněl podotknout, že pro html5 jsou k dispozici jiné kódy, viz.:

<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/cs_CZ/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

<div class="fb-like" data-href="http://developers.facebook.com/docs/reference/plugins/like" data-width="450" data-layout="button_count" data-show-faces="true" data-send="true"></div>

Nechci se do problému ponořit víc, než je nezbytně nutné. Jen mi potom malinko uniká smysl DOCTYPE, když tvrdíš to co tvrdíš. Já se nedomníval, že by ten a onen atribut ovlivňoval zásadně výsledek. Napsal jsem, že jsem v této oblasti méně obeznámen, proto je pro mě příznivější, když mám chyby vychytané.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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