2011-08-11 32 views
5

これに関連するトピックはほとんどありませんが、回答はありません。埋め込みYouTube動画はChromeとIEで停止しません

オーバーレイdivの中でユーチューブの動画を埋め込む:私はビデオが停止し、ウィンドウを閉じたときのfirefoxで

<div id="blanket" style="display:none;"> 
    </div> 
     <div id="popUpDiv" style="display:none;"> 
     <a href="#" onclick="popup('popUpDiv')">Close</a>  
     <iframe width="480" height="390" src="https://www.youtube.com/embed/G5AuItKv?rel=0&autoplay=1" frameborder="0" allowfullscreen></iframe>          
     </div> 

はなく、クロムまたはInternet Explorerインチ

ユーザーが[閉じる]をクリックしたときに停止するために使用できるシンプルなJavaScriptがありますか?

TIA

編集:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
</head> 

<body> 

<a href="#" onclick="javascript:ytplayer.stop()">Close</a> 

<iframe width="480" height="390" src="http://www.youtube.com/e/PE1il5znICA?enablejsapi=1&version=3&playerapiid=ytplayer" frameborder="0" allowfullscreen></iframe> 


<script type="text/javascript"> 
function onYouTubePlayerReady(playerId) { 
    ytplayer = document.getElementById("ytplayer"); 
} 

function stop() { 
    if (ytplayer) { 
    ytplayer.stopVideo(); 
    } 
} 
</script> 
</body> 
</html> 

答えて

3

YouTubeのビデオを停止するようにあなたが有効にできるJavaScript APIのを持っています。 APIを有効にするには、このパラメータをsrc urlの最後に&enablejsapi=1と追加します。これでjavascriptを使用してプレーヤーにアクセスできます。ただ、近くのonclick関数内stop();に電話をかける

function stop() { 
    if (ytplayer) { 
    ytplayer.stopVideo(); 
    } 
} 

function onYouTubePlayerReady(playerId) { 
    ytplayer = document.getElementById("nameofplayer"); 
} 

、今あなたは、以下の機能を持つビデオを停止する能力を持っている:まず、プレイヤーの参照を取得する必要があります。

すべてのYouTubeのjavascriptのAPI情報はhereにあります。

+0

さらにiframe youtube apiで少し違っています。 javascript経由でプレーヤーにアクセスする方法の詳細については、こちら[こちら](https://code.google.com/apis/youtube/iframe_api_reference.html#Loading_a_Video_Player)をご覧ください。 –

1

HTML5でも同じ問題がありました。 IframeはYoutube APIで動作しません。JavaScript APIを有効にしてオブジェクトを生成する必要があります。

てみ変更:

<iframe width="480" height="390" src="http://www.youtube.com/e/PE1il5znICA?enablejsapi=1&version=3&playerapiid=ytplayer" frameborder="0" allowfullscreen></iframe> 

へ:

swfobject.embedSWF("http://www.youtube.com/e/PE1il5znICA?enablejsapi=1&version=3&playerapiid=ytplayer","ytplayer", "480", "390", "8", null, null, params, atts); 

Exemple:

最初にHTMLにdiv要素を追加します。

<div id="ytplayer"> 
<p>You need Flash player and JavaScript enabled to view this video.</p> 
</div> 

を次にオブジェクトを作成するためのスクリプトを追加し、追加停止機能:

<script type="text/javascript"> 

    function onYouTubePlayerReady(playerId){ytplayer = document.getElementById("ytplayer");} 
     var params = { allowScriptAccess: "always" };var atts = { id: "ytplayer" }; 


     swfobject.embedSWF("http://www.youtube.com/e/videoID?enablejsapi=1&version=3&playerapiid=ytplayer","ytplayer", "425", "356", "8", null, null, params, atts); 

     function stop() {if (ytplayer) {ytplayer.stopVideo();}} 
    </script> 

私のために働いてください。

関連する問題