2013-03-07 2 views
0

첫 번째 iframe에서 두 번째 iframe에서 플레이어를 재생할 수없는 다음 코드가 있습니다. 링크가 노래를 재생하는 경우이 잘 작동하지만 메인 페이지에 아닌 처음은 iframeiframe이 모두 동일한 페이지에있을 때 iframe 소스를 다른 iframe으로 변경하십시오.

<script type="text/javascript"> 
function music(dir) { 
      alert(dir); 
     var iframe = document.getElementById("player"); 
     iframe.src = dir; 
     } 
</script> 

<iframe src="home.php" frameborder="0" scrolling="no" width="100%" height="100%" style="background:#993333"></iframe> 

<iframe id="player" src="player.php" frameborder="0" scrolling="no" width="400px" height="100px" style="background:#66FF99"></iframe> 

//home.php

<a href="#" onclick="return music('player.php?item=test2')" >Song2</a> 

//player.php

<object type="application/x-shockwave-flash" data="dewplayer.swf?mp3=mp3/music.mp3&amp;autostart=1" width="200" height="20" id="dewplayer"><param name="wmode" value="transparent" /> 
</object> 
내부

답변

0

예 : main.php

<script type="text/javascript"> 
function music(dir) { 
      alert(dir); 
     var iframe = document.getElementById("player"); 
     iframe.src = dir; 
     } 
</script> 
<iframe src="home.php" frameborder="0" scrolling="no" width="100%" height="100%" style="background:#993333"></iframe> 

<iframe id="player" src="player.php" frameborder="0" scrolling="no" width="400px" height="100px" style="background:#66FF99"></iframe> 

player.php

<?php if(!empty($_GET['item'])){echo '<div>item = '.$_GET['item'].'</div>';} ?> 
<object type="application/x-shockwave-flash" data="dewplayer.swf?mp3=mp3/music.mp3&amp;autostart=1" width="200" height="20" id="dewplayer"><param name="wmode" value="transparent" /> 
</object> 

home.php

<a href="#" onclick="parent.music('player.php?item=test2')" >Song2</a> 
0
  1. 첫 번째 iframe에는 ID가 없습니다.
  2. 두 iframe은 서로 document의 일부가 아닙니다. 그래서 만약 당신이 다른 하나에서 URL을 변경해야합니다 그림에 parent 가져와야합니다.
0

당신은 그것을 하나의 원격 프레임에서 메시지를 보낼 수있는 새로운 window.postMessage API를 사용할 수는 부모, 그리고 다음 다른 iframe이에 그 메시지를 전달하여 다시 다른 iframe이 메시지를 만드는 부모 창 프록시 있습니다. 이에 대한 문서에 대해서는

, 모질라 페이지를 참조하십시오 ( https://developer.mozilla.org/en-US/docs/DOM/window.postMessage)