Enorme WTF que pensé que era un error oculto en el semicomplex web app que estoy creando, pero lo reduje al código más simple posible, y es todavía se puede replicar en Firefox, Chrome y Safari, de manera impredecible pero más de la mitad de las veces.video html5 reproduciendo dos veces (audio duplicado) con JQuery .append()
var v = $("<video id='v' src='http://ia600401.us.archive.org/18/items/ForrestPlaysTaik/forresto-plays-taik-piano-360.webm' autobuffer='auto' preload autoplay controls></video>");
$("#player").append(v);
- Añadir un elemento de vídeo.
- El video comienza a cargarse y reproducirse.
- El audio de video parece que está duplicado.
- Pausa el video visible, y una pista de audio continúa.
- Eliminar el elemento de video; el audio fantasma sigue jugando.
- Borre el marco y el audio fantasma se detiene (aunque una vez en Firefox continuó reproduciéndose después de cerrar la ventana, y no se detuvo hasta que salió de Firefox).
Aquí está una captura de pantalla para mostrar tal que no estoy completamente loco: http://www.youtube.com/watch?v=hLYrakKagRY
No parece que suceda al hacer el elemento con .html()
en lugar de .append()
, por lo que es mi única pista: http://jsfiddle.net/cDpV9/6/
$("#player").html("<video id='v' src='http://ia600401.us.archive.org/18/items/ForrestPlaysTaik/forresto-plays-taik-piano-360.webm' autobuffer='auto' preload autoplay controls></video>");
estoy en OS X 10.6.7.
Creo que lo tengo. Incluso acaba de crear el objeto jQuery sin agregarlo a la página hace que el jugador fantasma para jugar: http://jsfiddle.net/cDpV9/8/
var v = $("<video id='v' src='http://ia600401.us.archive.org/18/items/ForrestPlaysTaik/forresto-plays-taik-banjo-360.webm' autobuffer='auto' preload autoplay controls></video>");
Por ahora se puede evitar esto usando .html()
. Informaré the issue a JQuery.
Incluso yo estaba enfrentando el mismo problema. Cambiar a '$(). Html()' desde '$(). Append()' lo solucionó. – Sorter