2012-02-25 8 views
1

私はユーチューブの動画の前に表示されるようにjQueryのダイアログを取得に掲載された修正を認識してんだけど、私は彼らの新しいのIFrame埋め込み方法使用しています:jQueryのモーダルダイアログ

var tag = document.createElement('script'); 
tag.src = "http://www.youtube.com/player_api"; 
var firstScriptTag = document.getElementsByTagName('script')[0]; 
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 
var player; 

方法をビデオの上にダイアログを表示できますか?

+0

問題が発生しているブラウザで –

+1

こちらをご覧くださいhttp://stackoverflow.com/questions/3820325/overlay-opaque-div-over-youtube-iframe – danielepolencic

答えて

5

新しいiframeコードを使用している場合は、url文字列にクエリ文字列セグメントとして "wmode = transparent"を追加するだけです。

<iframe width="403" height="235" src="http://www.youtube.com/embed/(video_code)?wmode=transparent" frameborder="0" allowfullscreen></iframe> 
1

私はこの記事はかなり古いです知っている...以下のサンプルコードを参照して、スクリプトに 'playerVars' に

<script type="text/javascript"> 
var tag = document.createElement('script'); 
tag.src = "http://www.youtube.com/player_api"; 
var firstScriptTag = document.getElementsByTagName('script')[0]; 
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 

var player; 
function onYouTubePlayerAPIReady() { 
    player = new YT.Player('player', { 
    height: '390', 
    width: '640', 
    videoId: 'FM-Vt87W3_A', 
    playerVars: { 
     'autoplay': '0', 
     'wmode': 'transparent', 
     'showinfo': '0'}, 
    events: { 
     'onStateChange': onPlayerStateChange} 
    }); 
} 

function onPlayerStateChange(event) { 
    if (event.data == YT.PlayerState.ENDED) { 
     window.location="index.php"; 
    } 
} 

0

を 'WMODE' を追加しました。しかし、問題はまだIE 11にあります。このばかげた問題を解決するために私が見つけた最もクリーンで信頼性の高い方法は、jQuery UIダイアログが開いているyoutubeプレーヤーを含むdivで.hide()を呼び出すことです。 )、そしてダイアログボックスのclose:function()で再びplayer divを.show()します。幸せな日々:D

関連する問題