Встроенный код YouTube не проверяется - PullRequest
2 голосов
/ 20 сентября 2010

Хотя проверка не является большой проблемой для некоторых людей, я лично хочу, чтобы моя страница проверялась всякий раз, когда это возможно, так как я чувствую, что это хорошая привычка правильно кодировать, понимает ли компилятор / браузер / человек, читающий ваш код, в любом случае.*

В любом случае, я создаю веб-сайт для клиента, который запрашивает видео YouTube на своем сайте.Легко, я беру код с YouTube и выкидываю его на страницу.Это работает, конечно, но страница теперь не проверяется в XHTML 1.0 Strict исключительно из-за сгенерированного YouTube кода.

Часть, которая не проверяет, является частью для встраивания, и она прекрасно работает без этой строки в Chrome, но не работает в Firefox / IE.Если бы это был просто IE, я бы просто отмахнулся от него, потому что IE, как обычно, ужасен, но, поскольку Firefox делает то же самое, я задаюсь вопросом, как подойти к ситуации.Я мог бы просто динамически вводить контент на основе браузера, следовательно, проверять, но это кажется неаккуратным.

Я сражаюсь в проигранном бою и должен просто игнорировать тот факт, что эта страница не проверяется из-за этого фрагмента?

Не фактическое видео, просто пример кода

<object width="480" height="385">
<param name="movie" value="http://www.youtube.com/v/oHg5SJYRHA0?fs=1&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param>
<embed src="http://www.youtube.com/v/oHg5SJYRHA0?fs=1&amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed>
</object>

Ответы [ 4 ]

3 голосов
/ 21 сентября 2010
<object type="application/x-shockwave-flash"
    data="http://www.youtube.com/v/oHg5SJYRHA0?fs=1&amp;hl=en_US"
    width="480" height="385">
  <param name="movie"
      value="http://www.youtube.com/v/oHg5SJYRHA0?fs=1&amp;hl=en_US"/>
  <param name="allowFullScreen" value="true"/>
  <param name="allowscriptaccess" value="always"/>
</object>

Это должно работать на IE, Firefox, Opera, Safari и Chrome.

Атрибут data <object> и параметр movie должны присутствовать и иметь одинаковое значение.

В IE это предотвращает потоковую передачу SWF и, например, представляет предварительный загрузчик, но это не должно быть проблемой для YouTube.

Для получения дополнительной информации и решения этой последней проблемы см. Flash Satay: встраивание Flash при поддержке стандартов .

0 голосов
/ 08 марта 2017

Боюсь, что приведенные выше ответы по-прежнему приводят к сбою проверки на W3C. Вот решение, которое работает для строгого xhtml;

<object type="application/x-shockwave-flash" data="https://www.youtube.com/v/YourVideoID" width="100%" height="100%"></object>
0 голосов
/ 21 сентября 2010

Тег <embed> является новым для HTML5, и вполне возможно, что используемый вами валидатор не полностью обновлен.Весь этот код должен быть достаточно хорош в строгом XHTML 1.0.

0 голосов
/ 21 сентября 2010

Я думаю, что если вы используете swfobject, вы можете получить его для проверки.

http://code.google.com/p/swfobject/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...