Greasy Fork is available in English.
try to take over the world!
当前为
// ==UserScript==
// @name 9gag video enhancer
// @namespace http://tampermonkey.net/
// @version 0.3
// @description try to take over the world!
// @author Llorx
// @match https://9gag.com/*
// @grant none
// ==/UserScript==
// from 0 to 100
var VOUME_LEVEL = 50;
function onFirstPlay(e) {
e.target.removeEventListener("play", onFirstPlay);
e.target.click(); // element click instead of setting the video muted attribute, so 9gag intertal state also changes to umnmuted
e.target.volume = VOUME_LEVEL/100;
}
(function() {
function checkVideos(node) {
if (node.querySelectorAll) {
var videos = node.querySelectorAll("video");
for (var i = 0; i < videos.length; i++) {
videos[i].setAttribute("controls", "1");
if (VOUME_LEVEL > 0) {
var audiotoggle = videos[i].parentNode.querySelector(".sound-toggle");
if (audiotoggle) {
videos[i].addEventListener("play", onFirstPlay);
}
}
var drag = videos[i].closest(".badge-track");
if (drag) {
drag.addEventListener("dragstart", function(e) {
e.preventDefault();
});
}
var els = videos[i].parentNode.querySelectorAll(".sound-toggle,.length");
for (var ii = 0; ii < els.length; ii++) {
els[ii].style.display = "none";
}
}
}
}
var targetNode = document.body;
var config = { childList: true, subtree: true };
var callback = function(mutationsList) {
for (var i = 0; i < mutationsList.length; i++) {
for (var ii = 0; ii < mutationsList[i].addedNodes.length; ii++) {
checkVideos(mutationsList[i].addedNodes[ii]);
}
}
};
var observer = new MutationObserver(callback);
observer.observe(targetNode, config);
checkVideos(targetNode);
})();