簡體   English   中英

.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 播放器 謝謝你的幫助。

更新:適用於 Jquery 3.3.1。 我們的引導框架使用的是 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。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM