Встраивание видео YouTube с помощью шаблонов jQuery - С#
Я использую шаблоны jQuery для встраивания размещенных на YouTube видеороликов YouTube. Я могу получить идентификатор видео и сохранить его в базе данных, и все работает правильно. Однако при попытке встроить видео с шаблонами jQuery следующим образом:
{{if streamObj.TypeOf == 3}}
<object width="425" height="350" data='http://www.youtube.com/v/${VideoId}' type="application/x-shockwave-flash">
<param name="src" value='http://www.youtube.com/v/${VideoId}' /></object>
{{else}}
Я получаю следующую ошибку: "NetworkError: 404 Not Found - http://www.youtube.com/v/"
${VideoId}
и streamObj.TypeOf
вернутся правильно. Но это ошибка.
Что может быть причиной этого? Спасибо.
Ответы
Ответ 1
Попробуйте это.
<object width="425" height="350" data='http://www.youtube.com/v/' + ${VideoId} type="application/x-shockwave-flash">
<param name="src" value='http://www.youtube.com/v/' + ${VideoId} />
</object>
Или, может быть, лучше.
var videoUrl = 'http://www.youtube.com/v/' + ${VideoId};
<object width="425" height="350" data=videoUrl type="application/x-shockwave-flash">
<param name="src" value=videoUrl />
</object>
Я считаю, что тег шаблона в вашем коде не оценивается корректно из-за того, что тег шаблона задан как часть значения строки js.
Ответ 2
вы должны получить ${VideoId}
из строки и использовать операцию строки, например
var videoIdString=${videoId};
var urlString='http://www.youtube.com/v/' + videoIdString ;
Потому что:
на этой странице, я никогда не видел ${} между кавычками.
http://api.jquery.com/template-tag-equal/
поэтому ваш код будет выглядеть следующим образом:
var videoIdString=${videoId};
<object width="425" height="350" data='http://www.youtube.com/v/'+videoIdString
type="application/x-shockwave-flash">
<param name="src" value='http://www.youtube.com/v/'+videoIdString /></object>