モーダルウィンドウをポップアップするために simplemodal を使用しています。モーダル ウィンドウの機能をテストしましたが、すべて正常に動作しています。
非表示の div 要素があります。
<div id="form-box" class="form-box" style="display:none;">
<div class="form-crop">
<script type="text/javascript" src="https://releasetechnique.infusionsoft.com/app/form/iframe/84f82828ea34c2a633bbe0a87560586c"></script>
</div>
</div>
タイマーでテストした場合、これは問題なくポップアップします。
<script type="text/javascript">
$(function() {
setInterval(update, 1000);
});
function update() {
$("#form-box").modal();
}
</script>
今私がやろうとしているのは、YouTube の API から情報を取得することです。これは、次の方法で正常にテストされています。
function onYouTubePlayerReady(playerId) {
$ytplayer = document.getElementById("myytplayer");
$ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
}
function onytplayerStateChange(newState) {
alert("Player's new state: " + newState);
}
これは意図したとおりに機能します。現在のプレーヤーの状態が返され、プレーヤーの状態が変更されるたびにアラートが通知されます。
今、私がやりたいことは、プレーヤーの状態が 0 のときにモーダル ウィンドウをポップアップすることです。0 は、プレーヤーが停止したことを意味します。したがって、基本的には、YouTube 動画の再生が終了すると、newstate として 0 が返されます。
以下を試してみましたが、うまくいきません。助言がありますか?
function onYouTubePlayerReady(playerId) {
$ytplayer = document.getElementById("myytplayer");
$ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
}
function onytplayerStateChange(newState) {
if(newstate === 0) {
$("#form-box").modal();
}
}