Динамическая вставка HTML5 видео элемента не работает в Opera - PullRequest
0 голосов
/ 07 декабря 2010

Я использую JavaScript для вставки видео элементов в DOM, но он не работает в Opera (v10.63).Элемент вставлен, но видео не появляется / не воспроизводится.Работает в Firefox, Chrome и Safari.Я все еще провожу некоторые тесты, чтобы посмотреть, смогу ли я заставить его работать, но я просто удивился, сталкивался ли кто-нибудь еще с этой проблемой.

В другой заметке, которая может быть полезна другим, похоже, что делегирование событий возможно только в Firefox, а не в Opera, Chrome или Safari.Это основано на тестах кода, которые я сделал, так что это может быть неправильно, но я не могу заставить его работать.

Большое спасибо

Ответы [ 2 ]

0 голосов
/ 19 января 2011

Вы можете попробовать использовать HTML5 Inner Shiv . Я знаю, что он больше нацелен на IE, но, возможно, стоит попробовать.

0 голосов
/ 18 января 2011

Возможно добавить элемент видео в DOM, используя JavaScript в Opera 10.63.Например, приведенный ниже код должен работать (я проверял его в Opera 10.61 и Opera 11).

var vid, makevid;
makevid = function(e){
    vid = document.createElement('video');
    vid.src = 'path/to/an/oggtheorafile.ogv';
        vid.setAttribute('autoplay',true);
    document.getElementsByTagName('body')[0].appendChild(vid);
} 
window.addEventListener('load',makevid,false);

Однако вы должны быть уверены, что используете совместимый формат видео.Opera 10.63 поддерживает Ogg / Theora и WebM.Если вы используете MPEG4 / H.264, видео не будет воспроизводиться в Opera.

(отредактировано для корректной поддержки формата видео в Opera 10.6x. Оно действительно поддерживает WebM)

EDIT2: обратите внимание, что если вы используете JavaScript для вставки видеоэлемента в DOM, вам также необходимо включить элементы управления с помощью vid.setAttribute('controls',true); или путем создания пользовательских элементов управления.

...