.pause() 在 Chrome 和 Firefox 中不工作,但在 Safari 中工作正常
.pause() isn't working in Chrome & Firefox, but works fine in Safari
我认为我对此不会有问题,因为 Safari 运行良好,但切换 videoElement.pause()
似乎没有在 Chrome/Firefox 中触发。关于如何使其跨浏览器友好的任何想法?
$('a.playBtn.KBAC .pause').on('click', function(e) {
e.preventDefault();
var videoElement = document.getElementById('radioPlayerKbac');
videoElement.pause();
});
我正在使用viblast player。感谢您的帮助。
更新:适用于 Jquery 3.3.1。我们的 bootstrap 框架使用的是 3.4.1。这可能是个问题,还是我们的 jquery 正在排队(页脚或页眉)?
$('a.playBtn.KBAC').on('click', function(e) {
e.preventDefault();
var videoElement = document.getElementById('KBAC');
videoElement.pause();
});
video {
height: 280px;
width: auto;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!-- ideally this should be in <head> -->
<script src="//cdn.viblast.com/vb/stable/viblast.js"></script>
<a href="#"class="playBtn KBAC">PAUSE</a>
<!-- body -->
<video id="KBAC" autoplay src="https://58f14b372a413.streamlock.net:444/kbac/kbac.stream_aac/playlist.m3u8?id=1355" data-viblast-key="N8FjNTQ3NDdhZqZhNGI5NWU5ZTI=" controls width="640"></video>
在调试和尝试不同的东西之后,我找到了这个解决方案:
$( "a.playBtn.KBAC .pause" ).click(function(e) {
var videoElement = document.getElementById('radioPlayerKbac');
if (!videoElement.paused) { // Check that video is playing when clicked
setTimeout(() => { // V. brief timer to allow default action to occur
if (!videoElement.paused) { // Is it still playing?
videoElement.pause(); // Pause it
}
}, 0);
}
});
这适用于 Safari、Chrome 和 Firefox。
我认为我对此不会有问题,因为 Safari 运行良好,但切换 videoElement.pause()
似乎没有在 Chrome/Firefox 中触发。关于如何使其跨浏览器友好的任何想法?
$('a.playBtn.KBAC .pause').on('click', function(e) {
e.preventDefault();
var videoElement = document.getElementById('radioPlayerKbac');
videoElement.pause();
});
我正在使用viblast player。感谢您的帮助。
更新:适用于 Jquery 3.3.1。我们的 bootstrap 框架使用的是 3.4.1。这可能是个问题,还是我们的 jquery 正在排队(页脚或页眉)?
$('a.playBtn.KBAC').on('click', function(e) {
e.preventDefault();
var videoElement = document.getElementById('KBAC');
videoElement.pause();
});
video {
height: 280px;
width: auto;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!-- ideally this should be in <head> -->
<script src="//cdn.viblast.com/vb/stable/viblast.js"></script>
<a href="#"class="playBtn KBAC">PAUSE</a>
<!-- body -->
<video id="KBAC" autoplay src="https://58f14b372a413.streamlock.net:444/kbac/kbac.stream_aac/playlist.m3u8?id=1355" data-viblast-key="N8FjNTQ3NDdhZqZhNGI5NWU5ZTI=" controls width="640"></video>
在调试和尝试不同的东西之后,我找到了这个解决方案:
$( "a.playBtn.KBAC .pause" ).click(function(e) {
var videoElement = document.getElementById('radioPlayerKbac');
if (!videoElement.paused) { // Check that video is playing when clicked
setTimeout(() => { // V. brief timer to allow default action to occur
if (!videoElement.paused) { // Is it still playing?
videoElement.pause(); // Pause it
}
}, 0);
}
});
这适用于 Safari、Chrome 和 Firefox。