Встраивание видео YouTube с помощью шаблонов jQuery - C # - PullRequest
11 голосов
/ 26 ноября 2011

Я использую шаблоны jQuery для встраивания размещенных пользователями видео на 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 возвращаются правильно. Но это ошибка. Что может быть причиной этого? Спасибо.

Ответы [ 2 ]

2 голосов
/ 12 декабря 2011

Попробуйте это.

<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.

0 голосов
/ 03 декабря 2011

вы должны получить ${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>
...