La vidéo html5 est lue deux fois (audio doublé) avec JQuery .append ()

Énorme WTF que j'ai pensé a un bug caché dans le semicomplex web app que je suis en train de faire, mais j'ai épluché vers le bas pour le code le plus simple possible, et il est toujours reproductibles dans Firefox, Chrome et Safari, de façon imprévisible, mais plus de la 1/2 du temps.

http://jsfiddle.net/cDpV9/7/

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);
  1. Ajouter un élément vidéo.
  2. Vidéo commence à charger et jouer.
  3. Vidéo audio sonne comme il est doublé.
  4. Pause le visible de la vidéo et une piste audio continue.
  5. Supprimer l'élément vidéo; le fantôme de l'audio continue à jouer.
  6. Supprimer l'image, et le fantôme de l'audio s'arrête (même si, une fois dans Firefox, il a continué à jouer après la fermeture de la fenêtre, et ne pas s'arrêter jusqu'à l'abandon de Firefox).

Voici une capture d'écran peut-être de montrer que je ne suis pas complètement fou: http://www.youtube.com/watch?v=hLYrakKagRY

Il ne semble pas se produire lors de la prise de l'élément avec .html() au lieu de .append()c'est mon seul indice: 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>");

Je suis sur OS X 10.6.7.


Je pense que je l'ai. Même juste de la création de l'objet JQuery sans l'ajouter à la page provoque le fantôme joueur à jouer: 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>");

Pour l'instant je peux contourner cela en utilisant .html(). Je vais signaler la question à JQuery.

source d'informationauteur forresto | 2011-05-08