I tried first with ublock origin. I could remove the loop attribute on video elements. Then the videos only played once. They played once every time they were scrolled into view. There is some script that starts videos every time they are scrolled into view. I tried with Firefox advanced settings in about:config. It removed the videos from the page. Not what i wanted. Then i tried Tampermonkey. You have to add video controls and pause the video all the time. Daily mail scripts sets back videos and starts them. The script runs a function every second. The function loops through all video elements and puts video controls back and pauses the video. When a video is scrolled into view it stops in a second. You can skip trough it with the video controls. Now i don’t have to get the experience the user expects. As a web developer would say it.
// ==UserScript==
// @name Stops and add Controls to HTML5 videos on Daily mail
// @namespace video-controls-html5
// @version 3
// @description Adds controls to HTML5 videos
// @grant none
// @exclude *//*.youtube.com/*
// @match *.dailymail.co.uk/*
// ==/UserScript==
function func() {
for (var e of document.getElementsByTagName('video')) {
e.setAttribute('controls', true);
e.pause();
}
console.log('Add controls');
}
setInterval(func, 1000);
The uBlock origin filters i use. I believe only the first one makes any difference.
www.dailymail.co.uk##+js(ra.js, loop,video,stay)
www.dailymail.co.uk##+js(ra.js, playsinline,video,stay)
www.dailymail.co.uk##+js(ra.js, auto,video,stay)