使用 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/"
$VideoId
和 streamObj.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?