Този сайт вече e с почти валиден код след промените през уикенда. Поне там където няма коментари, понеже остана да поправя само поддръжката на gravatar-и. Продължавам да се дразня, че си купуваш с желание дизайн-template от професионални дизайнери и кодери, който се нуждае от още няколко часа дебъгване, подкарване и валидация, но повече ме подразни факта, че гигант като YouTube предоставя на потребителите си невалиден код за embed-ване в техните страници. Коментарите са нецензурни, затова ще си ги оставя за себе си.

Следващият път, когато взимате от YouTube код за да пуснете клипче във ваш сайт вместо това, което най-вероятно ще изглежда подобно на тази боза:

<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/E6dVfYGTyFw&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/E6dVfYGTyFw&hl=en&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object>

и което не е валиден XHTML, използвайте това, което е равносилно на горното, но отговаря на правилата:

<object type="application/x-shockwave-flash" data="http://www.youtube.com/v/E6dVfYGTyFw&amp;hl=en&amp;fs=1" style="width:425px; height:344px;"><param name="movie" value="http://www.youtube.com/v/E6dVfYGTyFw&amp;hl=en&amp;fs=1" /></object>

Да не говорим, че на всичко отгоре е далеч по-кратко и елегантно…

Разбира се, ако останалият код на страницата ви не е валиден, упражнението няма особен смисъл.

Накратко за Йовко Ламбрев

ИТ и Интернет експерт, предприемач, блогър и фотограф от Пловдив. Фен на WordPress, книгите и музиката. Вярва, че можем да направим света по-добър.

  1. Мммм, чудно. Аз правих едни експерименти за валидация на клипчетата от Zazz.bg, но безуспешно. Не че имам и много време да се занимавам, де. Ако стане работата, ще пиша.

    Отговор

  2. В тази статия от A List Apart e обяснено в подробности как да се вгради Flash по начин съвместим със стандартите. Друга статия, още по-подробно по темата – embed vs. object, и прочие…

    Отговор

  3. & в адресите трябва да се замени с &amp; иначе от validator.w3.org ще получиш оплакване за unknown character entity.

    Отговор

  4. Прав е Жоро – недоглеждане от моя страна заради ръчното и по-особено изписване на кода в WordPress. Сега е поправено горе в текста.

    Между другото WordPress автоматично поправя такива грешки в постовете ако му е пусната опцията в Writing Settings – Formatting, но е добре да си е всичко както трябва.

    Отговор

  5. Поздравления Йовко! От много време твърдо отричам да импортвам флаш клипчета, именно поради невалидния код!

    Отговор

  6. Ама аз нищо чак толкова не съм написал – всичко си го пише в стандарта. Само пооправих кода съобразно правилата…

    Отговор

  7. Здравеи, Йовко. Като говорим за невалиден код, виждал ли си това:

    http://validator.w3.org/check?uri=www.google.com&charset=(detect+automatically)&doctype=Inline&group=0

    В случая на Гугъл, това е от части заради backwards-compatibility и за да се намали големината на сорса на страницата.

    В случая на Youtube, техният код трябва да работи на почти всеки браузър, които се ползва в днешно време. Сигурен ли си, че твоят код ще тръгне?

    За съжаление, XHTML е един от примерите за това как не се прави стандарт след като пост-фактум след като индустрията вече ползва дадена технология. Имаче една много интересна научна статия за това кога е идеалното време да се направи стандарт, в момента я търся и като я намеря ще я пратя. Идеята беше, че отначало винаги има бум на научна дейност и след това затишие, последвано от пум на употребата на тази технология. Затишието е моментът да се направи стандарт. XHTML за жалост е изпуснал този момент…

    Отговор

  8. Момчиле, добър или лош стандартът е стандарт за да бъде спазван. Знам защо е написан кодът на YouTube, историята на embed елемента и всичко останало, но в спорът браузърите ли трябва да следват стандарта или обратното – аз съм направил своят избор. Макар, че и тук нещата не са 100-процентови.

    Моят код ще тръгне на всеки браузър, който интерпретира правилно XHTML 1.0/1.1 – останалите не ме интересуват.

    Честно казано питам се колко от останалите имат смисъл и значение за гледане точно на YouTube в края на първото десетилетие на 21 век…

    Отговор

  9. Четох някъде, че в спецификацията на HTML 5 ще се наблегне на мултимедията и пропуските на XHTML в момента ще бъдат запълнени. Мултимедиа без embed таг почти няма, което значи, че или ще се стандартизира този таг, или ще се измисли нещо по-добро. Факт е, обаче, че Flash съществува от много отдавна, и че се ползва масово. Освен това напоследък са модерни и RIA апликациите. От W3C нямат друг избор, освен да се съобразят и да се заемат с това, което могат най-добре – да стандартизират новите web технологии.

    Отговор

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *