使用 jQuery 模板嵌入 YouTube 视频 - C#

Posted

技术标签:

【中文标题】使用 jQuery 模板嵌入 YouTube 视频 - C#【英文标题】:Embedding YouTube Video with jQuery Templates - C# 【发布时间】:2012-01-06 19:15:48 【问题描述】:

我正在使用 jQuery 模板嵌入用户发布的 YouTube 视频。我能够获取视频 ID 并将其保存到数据库中,并且一切正常。但是,当尝试使用 jQuery 模板嵌入视频时,如下所示:

if streamObj.TypeOf == 3
            <object   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/"

$VideoIdstreamObj.TypeOf 正确返回。但这就是错误。 这可能是什么原因造成的?谢谢。

【问题讨论】:

显示 youtube 网址的错误消息缺少视频 ID (http://www.youtube.com/v/)。你确定占位符$VideoId 被替换了吗? 您确定 $VideoId 不是空字符串吗? 打开 firebug 或其他一些 javascript 控制台以检查页面加载后是否正在生成 url。您的 VideoId 可能会在某处重置。 【参考方案1】:

你应该从字符串中取出$VideoId 并使用像

这样的字符串操作
var videoIdString=$videoId;

var urlString='http://www.youtube.com/v/' + videoIdString ;

因为:

在此页面中,我从未见过 $ 在引号之间使用。

http://api.jquery.com/template-tag-equal/

所以你的代码是:

var videoIdString=$videoId;

<object   data='http://www.youtube.com/v/'+videoIdString
type="application/x-shockwave-flash">
<param name="src" value='http://www.youtube.com/v/'+videoIdString /></object>

【讨论】:

【参考方案2】:

试试这个。

<object   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   data=videoUrl type="application/x-shockwave-flash">
    <param name="src" value=videoUrl />
</object>

我认为您的代码中的模板标签没有被正确评估,因为模板标签被设置为 js 字符串值的一部分。

【讨论】:

以上是关于使用 jQuery 模板嵌入 YouTube 视频 - C#的主要内容,如果未能解决你的问题,请参考以下文章

jQuery 在页面加载时播放 iframe 嵌入的 YouTube 视频

无法在 Django 模板标签、Twitter Bootstrap 中嵌入 YouTube 链接

如何在工具提示中嵌入 YouTube 视频?

是否可以在页面中嵌入移动设备的 YouTube 视频,而不是链接到 YouTube?

单击图像时开始/播放嵌入式(iframe)youtube-video

单击按钮时更改嵌入式 youtube 视频中的时间