NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @namespace https://openuserjs.org/users/esoytekin // @name skip_dizipal_ads // @description removes ads from dizipal. // @copyright 2023, esoytekin (https://openuserjs.org/users/esoytekin) // @license MIT // @version 1.0.3 // @include /^https:\/\/dizipal.*\.com\/.*/ // @grant GM.xmlHttpRequest // @updateURL https://openuserjs.org/meta/esoytekin/skip_dizipal_ads.meta.js // @downloadURL https://openuserjs.org/install/esoytekin/skip_dizipal_ads.min.user.js // @copyright 2023, esoytekin (https://openuserjs.org/users/esoytekin) // ==/UserScript== // ==OpenUserJS== // @author esoytekin // ==/OpenUserJS== const Elems = { playBtn: document.querySelector('.play-btn'), episodeHead: document.querySelector('.episode-head'), skipBtn : () => document.querySelector('#skipButton'), } const Counter = { base: 'https://api.countapi.xyz', namespace: 'skip_dizipal_ads', key: 'ec668188-77f3-4150-8671-3c81aaa6826b' }; const fetch = (method) => { if (['hit'].indexOf(method) === -1) { return; } return new Promise(resolve => { GM.xmlHttpRequest({ method: 'GET', url : `${Counter.base}/${method}/${Counter.namespace}/${Counter.key}`, onload: ( { response } ) => { const { value } = JSON.parse(response); resolve(value); } }) }) } const hitCounter = () => fetch('hit'); const skipAdFunc = async function(){ const playBtn = Elems.playBtn; playBtn.dispatchEvent(new Event('click')); let skipBtn = Elems.skipBtn(); while(skipBtn) { skipBtn.dispatchEvent(new Event('click')); skipBtn = Elems.skipBtn(); } this.remove(); await hitCounter(); }; const addBtn = async () => { const h = Elems.episodeHead; const btn = document.createElement('button'); btn.innerHTML = 'Remove Ads'; btn.addEventListener('click', skipAdFunc.bind(btn)); btn.style.padding="0 20px"; const divElement = document.createElement('div'); divElement.classList.add('form-element'); divElement.appendChild(btn); const divGroup = document.createElement('div'); divGroup.classList.add('form-group'); divGroup.appendChild(divElement); h.appendChild(divGroup); } (function() { addBtn(); })()