1

つまり、基本的に、divをポップアップさせるポップアップコードがあります。その中には、YouTubeのビデオプレーヤーがあります。ウィンドウを閉じるまで、すべてが機能します。バックグラウンドで音楽を聞くことができます。つまり、ビデオはまだ再生中です。やめたい。私はいくつかの調査を行い、YouTube APIに落ちましたが、それでも機能しません。

これがdivの私のコードです

echo "<div id='popupContact'>";
echo "<a id='popupContactClose'>x</a>";
echo "<div><h1>" .$row['title']. "</h1></div>";
echo "<p id='contactArea'>";
if($row[type] == "image")
echo "<img src='gallery/" .$row['path']. "' alt='" .$row['title']. "'/>";
else
echo "<iframe width='560' height='315' src='http://www.youtube.com/v/" .$row['path']."?        enablejsapi=1&version=3&playerapiid=ytplayer' frameborder='0' allowfullscreen></iframe>";
echo "<br/><br/>" .$row['description']. "</p>";
echo "</div>";
echo "<div id='backgroundPopup'></div>";

そして、これがポップアップのコードです:

//CONTROLLING EVENTS IN jQuery
$(document).ready(function(){

//LOADING POPUP
//Click the button event!
$("#button").click(function(){
    //centering with css
    centerPopup();
    //load popup
    loadPopup();
});

//CLOSING POPUP
//Click the x event!
$("#popupContactClose").click(function(){
    disablePopup();
});
//Click out event!
$("#backgroundPopup").click(function(){
    disablePopup();
});
//Press Escape event!
$(document).keypress(function(e){
    if(e.keyCode==27 && popupStatus==1){
        disablePopup();
    }
});

});

//disabling popup with jQuery magic!
function disablePopup(){
//disables popup only if it is enabled
if(popupStatus==1){
    $("#backgroundPopup").fadeOut("slow");
$("#popupContact").fadeOut("slow");
popupStatus = 0;
stop();
}
}
function onYouTubePlayerReady(playerId) {
alert("YAY");
ytplayer = document.getElementById("ytplayer");
}

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

ありがとう、アラ

4

2 に答える 2

0

可変スコープ。ytplayer関数内で定義するだけでonYouTubePlayerReady()、値を返さないでください。その関数が戻ると、ytplayerの値は破棄されます。

関数のOUTSIDE変数を定義する必要があります。

var ytplayer;   // now a global variable.
function onYouTubePlayerReadye(playerID) {
   ytplayer = document.getElementById('ytplayer');
}
于 2012-08-15T18:48:11.537 に答える
0

私はYoutubeのドキュメント(iframe)を見ていましたが、異なるAPIを混同していると思います

JavaScript APIについては、次の ように述べています。

SWFObjectを使用して、JavaScriptAPIを使用してアクセスされるすべてのプレーヤーを埋め込むことをお勧めします。

ただし、iframeを使用しています。だから私はあなたが呼ばれる関数を作成する必要があると思います

function onYouTubeIframeAPIReady()

これには、他の関数と一緒にすべてをセットアップするための数行のコードがあります。

于 2012-08-15T22:43:26.373 に答える