Валидатор блочит вас за JavaScript, Flash, noindex, css?

Валидатор блочит вас за JavaScript, Flash, noindex, css?

Портят наши страницы в основном следующие 4 вещи:

  1. JavaScript.
  2. Flash.
  3. Несуществующий по стандартам тег <noindex>, придуманный Яндексом.
  4. Глобальные CSS, размещаемые в заголовке документа.

Отказаться от них иногда может оказаться болезненно. Но есть обходные пути, которые приведут к валидности..

Разберемся по порядку..

1. JavaScript

Иногда само объявление о скрипте, может стать проблемой. Например:

<script>
Cod
</script>

Должно быть так:

<script type="text/javascript">
Cod
</script>

Теперь, для полной валидации необходимо использовать следующие комментарии:

<script type="text/javascript">
<!--//<![CDATA[
Cod
//]]>-->
</script>

А иногда и так:

<script type="text/javascript">/*<![CDATA[*/
Cod
/*]]>*/
</script>

2. Flash.

Сразу решение, ибо во флэш плохо разбираюсь..

<object type="application/x-shockwave-flash" data="flash.swf" width="468" height="60">
<param name="flashvars" value="link=http://site.com/" />
<param name="movie" value="flash.swf" />
<param name="quality" value="high" />
</object>

Вот еще вариант. Валидно и кроссбраузерно:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="x" height="x">
<param name="movie" value="file.swf" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="file.swf" width="x" height="x">
<!--<![endif]-->
alt content
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>

3. Несуществующий по стандартам тег <noindex>, придуманный Яндексом.

Большое спасибо отправляется к NickSpring

<de1 class="inv"><![CDATA[<noindex>]]></de1>
То, что запрещено к индексации
<de1 class="inv"><![CDATA[</noindex>]]></de1>

.inv {display:none}

4.  Глобальные CSS, размещаемые в заголовке документа.

Анологично как и JavaScript, обязательно указывайте тип.

Вот:

<style type="text/css">
/* <![CDATA[ */
Style
/* ]]> */
</style>

Если приметь эти правила, то можно избежать многих ошибок!

Комментарии — 8 комментариев

  1. #556 Миркус в 12:48, 9 марта 2009: (подписался)

    Ответить | Цитировать

    спасибо за статью.
    Поправки:
    1. JavaScript в тэге script html сущностями замените тэг фонт (отображающий подсветку)

    2. Flash , http://code.google.com/p/swfobject/ тут на мой взгляд более элегантные решения,как встроить флэшобьект.
    Валидные тоже,везде работающие и решающие проблему,как с устаревшими flash плеерами,так и с альтернативным рисунком.

    пример хтмл кода:

    красота =)

  2. #558 Миркус в 12:50, 9 марта 2009: (подписался)

    Ответить | Цитировать

    скушал движок блога,хтмл код.
    ну качните исходники по ссылке выше,что я привел.
    оно того стоит =).

  3. #564 WebMast в 19:37, 9 марта 2009:

    Ответить | Цитировать

    Ого, спасибо за ссылку, Миркус.

    Я то, что будет отображаться в комментарии после отправки, можно посмотреть, нажав на кнопку «Предпросмотр».

  4. #9427 Анатолий в 0:07, 7 марта 2010:

    Ответить | Цитировать

    1. Какой еще тег de1 ?! Нет такого. Скорее всего это div
    2. Пробовал недавно использовать этот метод, так Яндекс успешно все проиндексировал и показывал все эти CDATA в снипах, поэтому пришлось все удалить нафиг. Короче говоря, не работает 🙂

  5. #9434 WebMast в 20:35, 9 марта 2010:

    Ответить | Цитировать

    1. Должен быть любой строчный элемент. Видимо я ошибся, я хотел использовать тег del.
    2. Жаль. NickSpring — заявлял, что пример работает.

  6. #9566 Дмитрий в 21:42, 29 марта 2010:

    Ответить | Цитировать

    — жесть)

  7. #9567 Дмитрий в 21:42, 29 марта 2010:

    Ответить | Цитировать

    /de1 — жесть)

  8. […] сюда: Валидатор блочит вас за JavaScript, Flash, noindex, css? Валидный код, чем проверяем? 12 декабря 2008 в 12:05Евгений […]

Добавить комментарий

имя:

e-mail:

сайт:

текст:

Subscribe without commenting