Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

270
Vistas
el video sigue reproduciéndose después de cerrar modal

Quiero que mi código reproduzca un video, pero cuando cierro el modal, la música del video aún se reproduce en segundo plano.

 <div class="modal fade" id="videoModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-body"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">&times;</span> </button> <!-- 16:9 aspect ratio --> <div class="embed-responsive embed-responsive-16by9"> <iframe class="embed-responsive-item" src="" id="video" allowscriptaccess="always" allow="autoplay"></iframe> </div> </div> </div> </div> </div>

Intenté usar jquery para solucionarlo pero no pasa nada.

 $(document).ready(function () { var $videoSrc; $('.btn-play').click(function () { $videoSrc = $(this).data("src"); }); console.log($videoSrc); $('#videoModal').on('shown.bs.modal', function (e) { $("#video").attr('src', $videoSrc + "?autoplay=1&amp;modestbranding=1&amp;showinfo=0"); }) $('#videoModal').on('hide.bs.modal', function (e) { $("#video").attr('src', $videoSrc); }) });
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Para hacer lo que necesita, puede detener o pausar la reproducción del video cuando se activa el evento hide.bs.modal .

Puede hacerlo enviando un postMessage al iframe que contiene el reproductor de Youtube incrustado. Tenga en cuenta que el parámetro enablejsapi=1 debe incluirse en la URL de inserción para que esto funcione.

He aquí un ejemplo simplificado:

 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script> <div><a href="#" class="play-video">Play Video</a></div> <div><a href="#" class="stop-video">Stop Video</a></div> <div><a href="#" class="pause-video">Pause Video</a></div> <iframe class="embed-responsive-item" id="video" width="560" height="315" src="https://www.youtube.com/embed/LDU_Txk06tM?enablejsapi=1&version=3&playerapiid=ytplayer" allowscriptaccess="always" allow="autoplay"></iframe>
 let videoIframeContent = $('#video')[0].contentWindow; // stop videoIframeContent.postMessage(JSON.stringify({"event": "command", "func": "stopVideo" }), '*'); // pause videoIframeContent.postMessage(JSON.stringify({"event": "command", "func": "pauseVideo" }), '*');

Aquí hay una demostración de trabajo en un jsFiddle y el editor de fragmentos está en un espacio aislado y no permite videos.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Eso es porque el video no se detuvo.

En el oyente que escucha el evento hide.bs.modal :

 const video = $('#video').get(0); video.pause(); video.currentTime = 0;
about 4 years ago · Juan Pablo Isaza Denunciar

0

Creo que necesita usar la etiqueta de video en lugar de iframe para controlar el enlace de seguimiento del video

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda