Огромная WTF, которую я считал ошибкой, скрытой в полукомплексном веб-приложении, который я делаю, но я поменял ее на самый простой код, и он по-прежнему воспроизводится в Firefox, Chrome и Safari, непредсказуемо, но более чем в 1/2 раза.
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);
- Добавить элемент видео.
- Видео начнет загружаться и воспроизводиться.
- Звук видео звучит так, будто он удваивается.
- Приостановить видимое видео и продолжить воспроизведение одной звуковой дорожки.
- Удалить элемент видео; звук призрака продолжает играть.
- Удалите фрейм, и звук призрака прекратится (хотя однажды в Firefox он продолжал играть после закрытия окна и не останавливался до выхода из Firefox).
Вот скриншот, чтобы показать, что я не совсем сумасшедший: http://www.youtube.com/watch?v=hLYrakKagRY
Кажется, это не происходит при создании элемента .html()
вместо .append()
, так что моя единственная подсказка: 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>");
Я на OS X 10.6.7.
Я думаю, что у меня это есть. Даже просто создание объекта JQuery без добавления его на страницу заставляет игрока-призрака играть: 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>");
Пока я могу обойти это, используя .html()
. Я сообщу вопрос в JQuery.