Youtube最近开始在某些页面上播放html5 webm版本的视频,即使你的浏览器中有flash并且你没有进行html5试用 .
例如,这些视频默认播放html5 webm:
http://www.youtube.com/watch?v=CuU91TU7O3s
其他例子(看?v = Z3IGfwcGBP8)(看?v = kYcNJQ3Y6Sg)(看?v = c6tEKLT5G2M)
我试图使用greasemonkey javascript来阻止视频元素 . 对于大多数youtube视频,删除视频元素的工作原理 . 例如:
var h5video = document.getElementsByTagName("video")[0];
h5video.parentNode.removeChild(h5video)
但在此特定页面上,即使您删除了视频元素,视频仍会播放,您将听到音频 . http://www.youtube.com/watch?v=cCn-rmgECY0
为什么视频还在播放?
你怎么能用javascript阻止视频?我希望脚本实际上破坏或阻止视频加载,而不仅仅是以某种方式暂停/停止视频 .
1 回答
重新定义
media
和video
元素的原型以覆盖play
方法:使用JavaScript删除
audio
,embed
和object
元素:References
MDN: HTMLMediaElement
Simplified Adaptive Video Streaming: Announcing support for HLS and DASH in Windows 10
Acceptance of Media Source Extensions as W3C Candidate Recommendation will accelerate adoption of dash.js
[MS-HTML5E]: Microsoft Edge / Internet Explorer Extensions to the HTML5 Specification