在 IE/Chrome 中动态更改嵌入式视频 src(适用于 Firefox)
Posted
技术标签:
【中文标题】在 IE/Chrome 中动态更改嵌入式视频 src(适用于 Firefox)【英文标题】:Dynamically change embedded video src in IE/Chrome (works in Firefox) 【发布时间】:2011-02-28 10:29:13 【问题描述】:我正在尝试动态更改页面上的嵌入视频。它可以在 Firefox 中运行,但由于某种原因,它不能在 IE 和 Chrome 中运行(奇怪的组合)。这是 html:
<object id="viewer" >
<param name="wmode" value="transparent" />
<param name="movie" value="http://www.youtube.com/v/Lmn94kn08Lw&hl=en&fs=1&color1=0x006699&color2=0x54abd6&rel=0" />
<param name="allowFullScreen" value="true" />
<embed id="embeddedPlayer" src="http://www.youtube.com/v/Lmn94kn08Lw&hl=en&fs=1&color1=0x006699&color2=0x54abd6&rel=0" type="application/x-shockwave-flash" allowfullscreen="true" wmode="transparent"></embed>
</object>
这是我的 javascript 代码。点击链接更换视频:
$("#video a").click(
function()
var videoAddress = $(this).attr("href");
$("#embeddedPlayer").attr("src", videoAddress);
return false; // stop the default link so it just reloads in the video player
);
就像我说的那样,视频在 Firefox 中的变化非常完美,但在 IE 和 Chrome 中却没有任何反应。有什么想法吗?
【问题讨论】:
几天前有人问过这个问题,IIRC 建议使用SWFPlayer
JS 库,因为这个确切的原因。
【参考方案1】:
终于找到了适用于 IE、Firefox 和 Chrome 的东西。
这样做似乎有点不寻常,但它适用于 IE8/Firefox/Chrome,所以对我来说听起来不错。
$("#video a").click(
function()
var videoAddress = $(this).attr("href");
$("#media-active").html(" ");
$("#media-active").html('<object id="viewer" ><param name="wmode" value="transparent" />' +
'<param name="movie" value="' + videoAddress + '" /><param name="allowFullScreen" value="true" />' +
'<embed id="embeddedPlayer" src="' + videoAddress + '" type="application/x-shockwave-flash" allowfullscreen="true" wmode="transparent"></embed></object>');
return false; // stop the default link so it just reloads in the video player
);
【讨论】:
感谢您发布此内容,已经尝试了一段时间来弄清楚如何执行此操作,但我正在使用音频 src 执行此操作。我还没有看到有人说要使用 .html() @macca1 你好。非常聪明的代码。我尝试在我的网站中使用您的代码,我尝试在我的网站中创建一个视频库。不幸的是,我无法让它工作。你提到的media-active
,是div
吗?还是object
?也许这会对我有所帮助。谢谢【参考方案2】:
<embed>
标签用于向后兼容。请尝试更改参数值。
$("#viewer param[name=movie]").attr("value", videoAddress);
【讨论】:
试过了,但不幸的是它没有任何作用。以上是关于在 IE/Chrome 中动态更改嵌入式视频 src(适用于 Firefox)的主要内容,如果未能解决你的问题,请参考以下文章