使用JQuery更改Vimeo视频

时间:2010-06-03 12:09:31

标签: javascript jquery vimeo

如何更改嵌入式vimeo视频的ID?这是嵌入代码,例如:

<object width="578" height="325">
<param name="allowfullscreen" value="true" />
<param name="allowscriptaccess" value="always" />
<param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=11527784&amp;
server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" />
<embed src="http://vimeo.com/moogaloop.swf?clip_id=11527784&amp;
server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;
color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" 
allowscriptaccess="always" width="578" height="325"></embed></object>

如何使用JQuery或纯javascript更改对象值和嵌入源中的 clip_id

它的效果是它改变了视频。我在Firefox上测试了这个,如果这不适用于所有浏览器,请告诉我!

感谢大家的帮助

3 个答案:

答案 0 :(得分:2)

对此有一些跨浏览器的含义。

您可能需要查看another question on SO

您应该将SWFObject插件用作stated by SolutionYogi

这是另一个相关的问题: How to use javascript to swap swf in html?

答案 1 :(得分:1)

我不确定“何时”你要替换它,所以我点击了它。试试这个:

$('#change_me').click(function() {
    var val = $('embed').attr('src').replace(/clip_id=(?=\d).\d+/g, 'clip_id='+new_id);


    $('embed').attr('src', val);
    alert($('embed').attr('src'));
});

这个正则表达式会找到clip_id后跟任何数字和只有数字,并用新的id替换它们。您可以在包含clip_id的两个网址上执行此操作。我很确定它适用于所有浏览器,虽然我现在无法测试它。

注意:我确信可以使用更好的正则表达式,但我并不特别喜欢它们,所以我只能想出atm。

希望这有帮助

答案 2 :(得分:0)

    var params = document.getElementsByTagName("param");
    var clip_url = 11527780;
    var vimeo = "http://vimeo.com/moogaloop.swf?clip_id=" + clip_url + "&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1";
    params[2].setAttribute("value", vimeo);

    var embed = document.getElementsByTagName("embed");
    embed[0].setAttribute("src", vimeo);

clip_url是vimeo视频的ID。