2012-04-01 61 views
1

尽管您的浏览器中提供了Flash,并且您未在html5试用版中,Youtube最近开始在某些页面上播放html5 webm版本的视频。无法使用javascript阻止html5视频元素

例如,这些视频播放HTML5 WEBM默认:

http://www.youtube.com/watch?v=CuU91TU7O3s

其他例子 (看V = Z3IGfwcGBP8?) (看V = c6tEKLT5G2M?)

(看V = kYcNJQ3Y6Sg?)

我想阻止使用greasemonkey javascript的视频元素。对于大多数YouTube视频只是删除视频元素的作品。例如:

var h5video = document.getElementsByTagName("video")[0]; 
h5video.parentNode.removeChild(h5video) 

但这个特定页面上,该视频仍然起着即使你删除了该视频元素,你会听到声音。 http://www.youtube.com/watch?v=cCn-rmgECY0

为什么视频仍在播放?

如何使用javascript阻止视频?我希望脚本能够实际上中断或阻止视频加载,而不仅仅是暂停/停止视频。

+0

暂停按钮仅停留在你的链接视频。 音频仍在播放并回显。 我认为该页面同时播放html5和Flash视频。 这里是你的视频,但在闪光灯:http://www.youtube.com/v/CUU91TU7O3s – RASG 2012-04-05 11:49:58

+0

我徘徊你为什么要这么想阻止视频 – arufian 2012-07-19 02:59:55

回答

0

重新定义mediavideo元件的原型覆盖play方法:

HTMLMediaElement.prototype.play = HTMLVideoElement.prototype.play = Function; 

使用JavaScript除去audioembed,并object元件,以及:

var h5audio = document.getElementsByTagName("audio")[0]; 
h5audio.parentNode.removeChild(h5audio); 

var object = document.getElementsByTagName("object")[0]; 
object.parentNode.removeChild(object); 

var embed = document.getElementsByTagName("embed")[0]; 
embed.parentNode.removeChild(embed); 

参考

+0

没有!不要工作。 – 2015-11-04 14:12:29