您好,匿名用户
随意问技术百科期待您的加入

在页面加载后在设置embed 的src 怎么实现?

0 投票

我想在页面加载完之后,再给embed 加入src 值,但embed 后播放不了。
下面是我的两个方案,都无法播放,求解:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<embed allowFullScreen="true" id="embedid"  quality="high" width="620" height="500" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash"></embed>
<script type="text/javascript">
	$(function(){
		$("#embedid").attr("src","http://player.youku.com/player.php/sid/XMzE5NDUyNTcy/v.swf");
/*		var ebd = document.getElementById("embedid");  
		ebd.src = "http://player.youku.com/player.php/sid/XMzE5NDUyNTcy/v.swf";*/
	})
</script>
用户头像 提问 2012年 12月1日 @ Shaco 上等兵 (179 威望)
分享到:

1个回答

0 投票
 
最佳答案

embed 和 object 因为数据(video, audio, flash, activex)的特殊性,跟一般DOM处理上有所不同,在载入后浏览器会拒绝改变它们的 src 属性。

解决这个问题的简单方法是插入整个 embed 元素。 如果是要改变已经在播放的 embed 的话,那得删除掉原来的一个再重新插入完整的 embed 了。。。

<div id="box"></box>
var box = document.getElementById('box')
,str = '<embed allowFullScreen="true" id="embedid"  quality="high" width="620" height="500" align="middle" src="http://player.youku.com/player.php/sid/XMzE5NDUyNTcy/v.swf" allowScriptAccess="always" type="application/x-shockwave-flash"></embed>';
box.innerHTML = str;

http://jsfiddle.net/E8PBN/

另外,使用 swfobject 可以更方便地操作(兼容性也更好)。

用户头像 回复 2012年 12月1日 @ Corki 上等兵 (263 威望)
选中 2012年 12月1日 @Shaco
提一个问题:

相关问题

0 投票
1 回复 40 阅读
0 投票
0 回复 41 阅读
+1 投票
1 回复 58 阅读
用户头像 提问 2012年 12月1日 @ Emiya Shirou 上等兵 (438 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...