使用脚本暂停 Mixcloud
Pause Mixcloud with script
我正在组建一个 wordpress 网站,在 mixcloud 上引入一个朋友节目,为每个节目创建帖子。在节目的循环中,每个节目都有一个播放按钮,可以打开带有 mixcloud iframe 的弹出窗口。
播放按钮看起来像:
<?php if (!empty($showurl)) { ;?><a class="vp-b" data-show-id="<?php echo $video_id ;?>" href="#" style="outline: none;">play</a><?php } ;?>
弹出如下:
<div id="player" style="display:none;" class="YouTubePopUp-Wrap VideoPopUpWrap"><div class="Video-PopUp-Content"><div class="vp-flex vp-vt-soundcloud"><span onclick="exitPlayer()" id="popup_closer" class="YouTubePopUp-Close"></span><iframe id="player_frame" width="100%" height="400" src="https://www.mixcloud.com/widget/iframe/?autoplay=1&feed=%2Fjohncasey1048554%2F[replace_me]%2F" frameborder="0" ></iframe></div></div></div>
我正在使用此代码告诉它播放哪一集:
jQuery('.vp-b').click(function(e)
{
var value = jQuery(this).attr('data-show-id');
var str = document.getElementById("player").innerHTML;
var replace = "[replace_me]";
var res = str.replace(replace, value);
document.getElementById("player").innerHTML = res;
jQuery('#player').show();
e.preventDefault();
});
对此我很满意。当我想关闭 window 并重置源时,我的问题就来了。
function exitPlayer() {
jQuery('#player').hide();
jQuery("#player_frame").attr("src","https://www.mixcloud.com/widget/iframe/?autoplay=1&feed=%2Fjohncasey1048554%2F[replace_me]%2F");
}
Mixcloud 每次都会触发 'Changes you made may not be saved.' 警报。
我已经确定如果节目暂停它不会执行此操作,所以我想弄清楚如何在单击退出按钮时暂停节目。但我完全卡住了。
我已经包括:
<script src="//widget.mixcloud.com/media/js/widgetApi.js" type="text/javascript"></script>
但无法从 here 中弄清楚我将如何在退出时暂停 mixcloud。
所以...
我不知道如何在退出时暂停 mixcloud 播放器,但我所做的是在退出时完全删除 ifram 并用新的替换它。这可以防止 'Changes you made may not be saved.' 警报触发。
function exitPlayer() {
jQuery('#player').hide();
jQuery('#player_frame').remove();
jQuery('#prepender').prepend('<iframe id="player_frame" width="100%" height="400" src="https://www.mixcloud.com/widget/iframe/?autoplay=1&feed=%2Fjohncasey1048554%2F[replace_me]%2F" frameborder="0" ></iframe>');
}
和
<div id="player" style="display:none;" class="YouTubePopUp-Wrap VideoPopUpWrap"><div class="Video-PopUp-Content"><div class="vp-flex vp-vt-soundcloud"><span onclick="exitPlayer()" id="popup_closer" class="YouTubePopUp-Close"></span><div id="prepender"><iframe id="player_frame" width="100%" height="400" src="https://www.mixcloud.com/widget/iframe/?autoplay=1&feed=%2Fjohncasey1048554%2F[replace_me]%2F" frameborder="0" ></iframe></div></div></div></div>
我正在组建一个 wordpress 网站,在 mixcloud 上引入一个朋友节目,为每个节目创建帖子。在节目的循环中,每个节目都有一个播放按钮,可以打开带有 mixcloud iframe 的弹出窗口。
播放按钮看起来像:
<?php if (!empty($showurl)) { ;?><a class="vp-b" data-show-id="<?php echo $video_id ;?>" href="#" style="outline: none;">play</a><?php } ;?>
弹出如下:
<div id="player" style="display:none;" class="YouTubePopUp-Wrap VideoPopUpWrap"><div class="Video-PopUp-Content"><div class="vp-flex vp-vt-soundcloud"><span onclick="exitPlayer()" id="popup_closer" class="YouTubePopUp-Close"></span><iframe id="player_frame" width="100%" height="400" src="https://www.mixcloud.com/widget/iframe/?autoplay=1&feed=%2Fjohncasey1048554%2F[replace_me]%2F" frameborder="0" ></iframe></div></div></div>
我正在使用此代码告诉它播放哪一集:
jQuery('.vp-b').click(function(e)
{
var value = jQuery(this).attr('data-show-id');
var str = document.getElementById("player").innerHTML;
var replace = "[replace_me]";
var res = str.replace(replace, value);
document.getElementById("player").innerHTML = res;
jQuery('#player').show();
e.preventDefault();
});
对此我很满意。当我想关闭 window 并重置源时,我的问题就来了。
function exitPlayer() {
jQuery('#player').hide();
jQuery("#player_frame").attr("src","https://www.mixcloud.com/widget/iframe/?autoplay=1&feed=%2Fjohncasey1048554%2F[replace_me]%2F");
}
Mixcloud 每次都会触发 'Changes you made may not be saved.' 警报。
我已经确定如果节目暂停它不会执行此操作,所以我想弄清楚如何在单击退出按钮时暂停节目。但我完全卡住了。
我已经包括:
<script src="//widget.mixcloud.com/media/js/widgetApi.js" type="text/javascript"></script>
但无法从 here 中弄清楚我将如何在退出时暂停 mixcloud。
所以...
我不知道如何在退出时暂停 mixcloud 播放器,但我所做的是在退出时完全删除 ifram 并用新的替换它。这可以防止 'Changes you made may not be saved.' 警报触发。
function exitPlayer() {
jQuery('#player').hide();
jQuery('#player_frame').remove();
jQuery('#prepender').prepend('<iframe id="player_frame" width="100%" height="400" src="https://www.mixcloud.com/widget/iframe/?autoplay=1&feed=%2Fjohncasey1048554%2F[replace_me]%2F" frameborder="0" ></iframe>');
}
和
<div id="player" style="display:none;" class="YouTubePopUp-Wrap VideoPopUpWrap"><div class="Video-PopUp-Content"><div class="vp-flex vp-vt-soundcloud"><span onclick="exitPlayer()" id="popup_closer" class="YouTubePopUp-Close"></span><div id="prepender"><iframe id="player_frame" width="100%" height="400" src="https://www.mixcloud.com/widget/iframe/?autoplay=1&feed=%2Fjohncasey1048554%2F[replace_me]%2F" frameborder="0" ></iframe></div></div></div></div>