我正在使用JavaScript将视频元素插入到DOM中,但它在Opera(v10.63)中不起作用。元素被插入但视频不会出现/播放。适用于Firefox,Chrome和Safari。我还在运行一些测试,看看我是否可以让它工作,但我只是想知道是否有其他人遇到过这个问题。
另一个可能对其他人有帮助的注意事项似乎只能通过Firefox而不是Opera,Chrome或Safari进行事件委派。这是基于我已经完成的代码测试,所以它可能是错误的,但我无法让它工作。
非常感谢
答案 0 :(得分:0)
可以在Opera 10.63中使用JavaScript将视频元素添加到DOM中。例如,下面的代码应该可以工作(我在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中播放。
(已在ED 10.6x中修改视频格式支持。确实支持WebM)
编辑2:请注意,如果您使用JavaScript在DOM中插入视频元素,则还需要使用vid.setAttribute('controls',true);
或创建自定义控件来启用控件。
答案 1 :(得分:0)
您可以尝试使用HTML5 Inner Shiv。我知道它更多的是针对IE,但它可能值得一试。