Сделал отдельный репозиторий для скрипта, который блокирует рекламу на DZEN.ru — https://github.com/VVSite/block-ads-dzen-video
Раздел Chrome
Скрипт Tampermonkey для блокировки рекламы на DZEN видео
По моему мнению DZEN Видео вполне рабочая замена Youtube, осталось её немного доработать 🙄.
Однако рекламные видео-вставки при просмотре это самое настоящее мучение для пользователя. Иногда их бывает до 6 штук подряд!
Этот скрипт не может блокировать видео рекламу, но позволяет её «пропустить».
// ==UserScript== // @name Закрыть рекламу на DZEN.RU // @namespace http://tampermonkey.net/ // @version 0.7 // @description Автоматическое закрытие рекламы на DZEN Видео // @author VVSite // @match https://dzen.ru/video/watch/* // @icon https://www.google.com/s2/favicons?sz=64&domain=dzen.ru // @grant none // ==/UserScript== (function() { 'use strict'; var elYplay = 'yaplayertag'; var svgShd = 'svg[width="24"]'; const txtMenu1 = 'Пожаловаться'; const txtMenu2 = 'Мне это неприятно'; const time = 20; var start = setInterval(closeCommercial, time*2); function closeCommercial() { var yp = document.querySelector(elYplay); if (yp) { var svgX = querySelectorAllShadows(svgShd, yp); if (svgX[0] !== undefined && svgX[0].parentElement !== undefined) { svgX[0].parentElement.parentElement.style.visibility = 'hidden'; svgX[0].parentElement.click(); clearInterval(start); start = null; setTimeout(function(){ var hideM = querySelectorAllShadows('div', yp, txtMenu1); if (hideM) { var menu1 = hideM.parentElement.parentElement.parentElement; menu1.parentElement.style.visibility = 'hidden'; menu1.click(); } }, time*2); // setTimeout(function(){ var hideM2 = querySelectorAllShadows('div', yp, txtMenu2); if (hideM2) { var menu2 = hideM2.parentElement.parentElement.parentElement; menu2.parentElement.style.visibility = 'hidden'; menu2.click(); start = setInterval(closeCommercial, time*4); } }, time*3); } } } // find shadow elements function querySelectorAllShadows(selector, el = document.body, text = null) { var res = null; const childShadows = Array.from(el.querySelectorAll('*')).map(el => el.shadowRoot).filter(Boolean); const childResults = childShadows.map(child => querySelectorAllShadows(selector, child)); const result = Array.from(el.querySelectorAll(selector)); res = result.concat(childResults).flat(); // if (text) { var i = 0; res.forEach((e) => { if (RegExp(text).test(e.textContent)) { res = e; return; } i++; }); } return res; } })();
Для использования скрипта:
1. Установите плагин Tampermonkey для Firefox.
2. Скопируйте содержимое кода скрипта вверху.
3. Щелкните на кнопке плагина, чтобы вызвать меню и выберите «Создать новый скрипт».
4. Удалите весь текст, который Tampermonkey автоматически добавляет в новый скрипт и вставьте из буфера скопированный в п.2 код.
5. Сохраните скрипт по «Файл — Сохранить».
6. Откройте любой ролик DZEN Видео, дождитесь рекламы. Убедитесь, что реклама промелькнет буквально за несколько секунд.
Скрипт Tampermonkey для повтора видео Youtube
Иногда хочется повторить проигрывание видео Youtube несколько раз. Однако, кнопки такой у него нет. Этот простой скрипт реализует такой функционал.
// ==UserScript== // @name Repeat on Youtube // @namespace http://tampermonkey.net/ // @version 0.2 // @description Repeat on Youtube // @author VVSite // @match https://www.youtube.com/* // @icon https://www.google.com/s2/favicons?domain=youtube.com // @grant none // ==/UserScript== (function() { 'use strict'; top.rep = false; let b_div = document.createElement('div'); b_div.style.position = 'relative'; let b_style = 'font-size: 30px; display: block; position: absolute; left: -55px; cursor: pointer; font-weight: bold; top: -8px; padding: 0 10px;border: 1px solid #cacaca; border-radius: 50%; padding-bottom: 5px;'; let tmp = '<span id="vvs-rep" style="' + b_style + '">↻</span>'; b_div.innerHTML = tmp; let sp = null; let video_player = document.querySelectorAll('#movie_player')[0]; if (video_player) { let t_obr = setInterval( function(){ let url = location.href; if (/watch\?v\=/.test(url)) { //let zag = document.querySelectorAll('.ytd-video-primary-info-renderer')[0]; let zag = document.querySelectorAll('.style-scope.ytd-watch-metadata')[0]; zag.before(b_div); sp = b_div.querySelector('#vvs-rep'); if(sp) { sp.onmouseover = function(e) { this.setAttribute('style', 'background: orange; ' + b_style); } sp.onmouseout = function(e) { this.setAttribute('style', 'background: #fff;' + b_style); } sp.onclick = function(e) { if (!top.rep) { b_style += 'color: red; background: #eaeaea;'; this.setAttribute('style', b_style); top.rep = true; } else { b_style = b_style.substr(0, b_style.length - 32); this.setAttribute('style', b_style); top.rep = false; } } if (video_player.getCurrentTime() == video_player.getDuration() && top.rep) { video_player.playVideo(); } } } }, 1500); } else { //clearInterval(t_obr); } })();
Протестировано в Firefox 96.0.2. Для использования скрипта:
1. Установите плагин Tampermonkey для Firefox.
2. Скопируйте содержимое кода скрипта вверху.
3. Щелкните на кнопке плагина, чтобы вызвать меню и выберите «Создать новый скрипт».
4. Удалите весь текст, который Tampermonkey автоматически добавляет в новый скрипт и вставьте из буфера скопированный в п.2 код.
5. Сохраните скрипт по «Файл — Сохранить».
6. Откройте любой ролик Youtube, вы должны увидеть появившуюся кнопку повтора слева от заголовка видео. Если ее нажать, она станет красной и после окончания воспроизведения ролик автоматически запустится вновь.
7. Повторное нажатие прекратит автоматическое воспроизведение.
Дата в текстовом поле
Update: скрипт обновлен 30.05.2017
Простая проверка текстового поля на валидность даты с помощью чистого JavaScript. Основные фишки:
- Формат даты — русский
- Вводить можно только цифры
- Проверена работа под Firefox 53, Chrome 60
Код выложил на JS Fiddle — https://jsfiddle.net/VVSite/e2nwtv0o/
Скрин
Поиск в Ex.UA
С некоторых пор на Ex.UA перестал работать поиск. Без него очень неудобно пользоваться сайтом. Пока они чинят свой поиск я сделал скрипт для FireFox и Google Chrome, который использует Google для поиска по сайту Ex.UA.
Для того чтобы использовать скрипт в FireFox вам нужно:
1. Скачать архив exUA.user_.zip и распаковать на диск.
2. Установить в FireFox дополнение Greasemonkey
3. Установить скрипт в раздел User Scripts — для этого нужно просто перетащить мышкой файл скрипта exUA.user.js туда и бросить. Потом дождитесть таймера и нажмите кнопку Установить (Install).
Форма поиска появляется на страницах сайта, где есть надпись «Извините, поиск невозможен.» Пользоваться — как обычным поиском. В поле вводите запрос и нажимаете Enter. результат выводится в то же окно.
Для установки в Google Chrome введите в строке адреса chrome://extensions/ Откроются ваши расширения. Перетащите мышкой файл скрипта в область расширений и нажмите кнопку Добавить (Add).