WTF lớn mà tôi nghĩ là một lỗi ẩn trong số semicomplex web app mà tôi đang thực hiện, nhưng tôi đã bỏ nó xuống mã đơn giản nhất có thể, và nó là vẫn có thể sao chép được trong Firefox, Chrome và Safari, không thể đoán trước nhưng hơn một nửa thời gian.video html5 chơi hai lần (âm thanh tăng gấp đôi) với 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);
- Thêm một yếu tố video.
- Video bắt đầu tải và phát.
- Âm thanh video như âm thanh đã được tăng gấp đôi.
- Tạm dừng video hiển thị và một bản âm thanh vẫn tiếp tục.
- Xóa phần tử video; âm thanh ma vẫn tiếp tục phát.
- Xóa khung và âm thanh con ma ngừng (mặc dù một lần trong Firefox nó tiếp tục phát sau khi đóng cửa sổ và không dừng lại cho đến khi thoát Firefox).
Dưới đây là một ảnh chụp màn hình để có thể chứng minh rằng tôi không hoàn toàn điên: http://www.youtube.com/watch?v=hLYrakKagRY
Nó dường như không xảy ra khi thực hiện nguyên tố này với .html()
thay vì .append()
, vì vậy đó là đầu mối duy nhất của tôi: 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>");
Tôi đang sử dụng OS X 10.6.7.
Tôi nghĩ rằng tôi có nó. Thậm chí chỉ cần tạo đối tượng JQuery mà không cần thêm nó vào trang gây các cầu thủ ma to play: 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>");
Để bây giờ tôi có thể làm việc này bằng cách sử dụng .html()
. Tôi sẽ báo cáo the issue cho JQuery.
Ngay cả khi tôi đang gặp phải vấn đề tương tự. Thay đổi thành '$(). Html()' từ '$(). Append()' đã sửa nó. – Sorter