1

如何更改嵌入式 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 上进行了测试,如果这不适用于所有浏览器,请告诉我!

谢谢大家的帮助

4

3 回答 3

2

这有一些跨浏览器的影响。

您可能想看看关于 SO 的另一个问题

如SolutionYogi 所述,您应该为此使用 SWFObject 插件。

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

于 2010-06-03T13:37:40.443 回答
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 的两个 url 上执行此操作。我很确定它适用于所有浏览器,尽管我现在无法测试它。

注意:我确信可以使用更好的正则表达式,但我对它们不是特别擅长,所以我能想到的就是 atm。

希望这可以帮助

于 2010-06-03T13:01:08.143 回答
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。

于 2010-06-03T13:49:49.640 回答