Auto-Pause Redgifs

Auto-pauses videos from redgif on reddit

As of 29.05.2024. See апошняя версія.

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name        Auto-Pause Redgifs
// @description Auto-pauses videos from redgif on reddit
// @namespace   redgifs.com
// @match       *://*redgifs.com/*
// @match       *redgifs.com/*
// @include     *redgifs.com/*
// @match       https://www.redgifs.com/*
// @grant       none
// @license     GPLv2
// @author      laclcia
// @version     1.13
// ==/UserScript==

(function() {
  'use strict';

  console.log('Script loaded on Redgifs page'); // Debug message

  const waitTime = 1000; // Wait time between attempts in milliseconds (1 second)
  const maxAttempts = 6; // Maximum number of attempts to find the video

  let videoPaused = false; // Flag to track if video is paused

  function findAndPauseVideo() {
    const video = document.querySelector('a.videoLink video[src]'); // Use previous selector

    if (video && !videoPaused) { // Check video and paused flag
      console.log('Video element found'); // Debug message
      video.pause();
      console.log('Paused Redgif video');
      videoPaused = true; // Set flag to true after pausing
    }

    console.log('Video not found (attempt ', arguments[0], ')'); // Debug message with attempt count
  }

  for (let i = 0; i < maxAttempts && !videoPaused; i++) { // Check videoPaused in loop condition
    setTimeout(findAndPauseVideo.bind(null, i + 1), waitTime * i); // Call with attempt count
  }
})();