Ok, so KillZapper was kind of cool in the way it let you target specific elements, but after running into issues on sites like CNN where I couldn’t easily control the click handlers and determine parent elements, I decided to just make this simpler. Click this bookmarklet to just kill all iframes and HTML5 video elements on the page without prejudice.
You need to wait until a video player has loaded before it will work, and a lot of sites use lazy loading on video so it isn’t loaded in the DOM until the video is ready to play. But really, the bookmarklet is designed for killing annoying autoplay videos, so it’s generally useful after the video has already started playing anyway.
As a side note, in this era of HTML5 video players, it’s possible to just disable autoplay in many cases.
Here’s the new bookmarklet. A simpler version that just targets all the iframes and video elements. We’ll call it “VidWipe” as a new bookmarklet independent of KillZapper. This is all it does:
document.querySelectorAll('video,iframe').forEach(function(i) { i.parentElement.removeChild(i); });
Here’s a second version that pauses all video instead of removing the elements. It does not work with iframes embeds: