페이지 에 불 러 온 후 embed 를 설정 한 src 는 어떻게 실현 합 니까?

8903 단어 자바 script
페이지 에 불 러 온 후에 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>

1、
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;

2、

embed嵌入式对象是比较特殊的,你一旦嵌入到文档中无论怎么改src它都不会重新加载。其实你了解它的道理后也不难理解,它实质上是浏览器调用的外部插件来渲染的(比如你的例子就是调用的flash插件),这个渲染过程是在嵌入的时候就完成了,而这些属性也都是嵌入的时候传递给插件的。所以当你后面动态修改这些属性的时候,是不会重新传递这些属性的。

要解决这个问题非常简单。你直接把这个嵌入对象用jquery插入就行了,记得把src要写在里面哦,比如这样

<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js">script>

<div id="player">div>

<script type="text/javascript">
$(function(){
	$('').appendTo('#player');
})
script>

좋은 웹페이지 즐겨찾기