您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
不感兴趣, दिलचस्पी नहीं है, 興味なし, 관심 없음, Kein Interesse,لا يهمني,Pas intéressé, Не интересует, Não tenho interesse, No me interesa
当前为
- // ==UserScript==
- // @name Youtube block all, not interested in all, dismiss all
- // @name:zh-CN Youtube block all, not interested in all, dismiss all
- // @name:zh-TW Youtube block all, not interested in all, dismiss all
- // @name:ja Youtube block all, not interested in all, dismiss all
- // @name:ko Youtube block all, not interested in all, dismiss all
- // @name:de Youtube block all, not interested in all, dismiss all
- // @name:es Youtube block all, not interested in all, dismiss all
- // @name:eo Youtube block all, not interested in all, dismiss all
- // @name:fr Youtube block all, not interested in all, dismiss all
- // @name:it Youtube block all, not interested in all, dismiss all
- // @name:ru Youtube block all, not interested in all, dismiss all
- // @name:vi Youtube block all, not interested in all, dismiss all
- // @name:pt-BR Youtube block all, not interested in all, dismiss all
- // @name:id Youtube block all, not interested in all, dismiss all
- // @name:ar Youtube block all, not interested in all, dismiss all
- // @name:bg Youtube block all, not interested in all, dismiss all
- // @name:cs Youtube block all, not interested in all, dismiss all
- // @name:tr Youtube block all, not interested in all, dismiss all
- // @name:el Youtube block all, not interested in all, dismiss all
- // @name:hu Youtube block all, not interested in all, dismiss all
- // @name:th Youtube block all, not interested in all, dismiss all
- // @version 0.1
- // @description 不感兴趣, दिलचस्पी नहीं है, 興味なし, 관심 없음, Kein Interesse,لا يهمني,Pas intéressé, Не интересует, Não tenho interesse, No me interesa
- // @description:zh-CN 不感兴趣, दिलचस्पी नहीं है, 興味なし, 관심 없음, Kein Interesse,لا يهمني,Pas intéressé, Не интересует, Não tenho interesse, No me interesa
- // @description:zh-TW 不感兴趣, दिलचस्पी नहीं है, 興味なし, 관심 없음, Kein Interesse,لا يهمني,Pas intéressé, Не интересует, Não tenho interesse, No me interesa
- // @description:ja 不感兴趣, दिलचस्पी नहीं है, 興味なし, 관심 없음, Kein Interesse,لا يهمني,Pas intéressé, Не интересует, Não tenho interesse, No me interesa
- // @description:ko 不感兴趣, दिलचस्पी नहीं है, 興味なし, 관심 없음, Kein Interesse,لا يهمني,Pas intéressé, Не интересует, Não tenho interesse, No me interesa
- // @description:de 不感兴趣, दिलचस्पी नहीं है, 興味なし, 관심 없음, Kein Interesse,لا يهمني,Pas intéressé, Не интересует, Não tenho interesse, No me interesa
- // @description:es 不感兴趣, दिलचस्पी नहीं है, 興味なし, 관심 없음, Kein Interesse,لا يهمني,Pas intéressé, Не интересует, Não tenho interesse, No me interesa
- // @description:eo 不感兴趣, दिलचस्पी नहीं है, 興味なし, 관심 없음, Kein Interesse,لا يهمني,Pas intéressé, Не интересует, Não tenho interesse, No me interesa
- // @description:fr 不感兴趣, दिलचस्पी नहीं है, 興味なし, 관심 없음, Kein Interesse,لا يهمني,Pas intéressé, Не интересует, Não tenho interesse, No me interesa
- // @description:it 不感兴趣, दिलचस्पी नहीं है, 興味なし, 관심 없음, Kein Interesse,لا يهمني,Pas intéressé, Не интересует, Não tenho interesse, No me interesa
- // @description:ru 不感兴趣, दिलचस्पी नहीं है, 興味なし, 관심 없음, Kein Interesse,لا يهمني,Pas intéressé, Не интересует, Não tenho interesse, No me interesa
- // @description:vi 不感兴趣, दिलचस्पी नहीं है, 興味なし, 관심 없음, Kein Interesse,لا يهمني,Pas intéressé, Не интересует, Não tenho interesse, No me interesa
- // @description:pt-BR 不感兴趣, दिलचस्पी नहीं है, 興味なし, 관심 없음, Kein Interesse,لا يهمني,Pas intéressé, Не интересует, Não tenho interesse, No me interesa
- // @description:id 不感兴趣, दिलचस्पी नहीं है, 興味なし, 관심 없음, Kein Interesse,لا يهمني,Pas intéressé, Не интересует, Não tenho interesse, No me interesa
- // @description:ar 不感兴趣, दिलचस्पी नहीं है, 興味なし, 관심 없음, Kein Interesse,لا يهمني,Pas intéressé, Не интересует, Não tenho interesse, No me interesa
- // @description:bg 不感兴趣, दिलचस्पी नहीं है, 興味なし, 관심 없음, Kein Interesse,لا يهمني,Pas intéressé, Не интересует, Não tenho interesse, No me interesa
- // @description:cs 不感兴趣, दिलचस्पी नहीं है, 興味なし, 관심 없음, Kein Interesse,لا يهمني,Pas intéressé, Не интересует, Não tenho interesse, No me interesa
- // @description:tr 不感兴趣, दिलचस्पी नहीं है, 興味なし, 관심 없음, Kein Interesse,لا يهمني,Pas intéressé, Не интересует, Não tenho interesse, No me interesa
- // @description:el 不感兴趣, दिलचस्पी नहीं है, 興味なし, 관심 없음, Kein Interesse,لا يهمني,Pas intéressé, Не интересует, Não tenho interesse, No me interesa
- // @description:hu 不感兴趣, दिलचस्पी नहीं है, 興味なし, 관심 없음, Kein Interesse,لا يهمني,Pas intéressé, Не интересует, Não tenho interesse, No me interesa
- // @description:th 不感兴趣, दिलचस्पी नहीं है, 興味なし, 관심 없음, Kein Interesse,لا يهمني,Pas intéressé, Не интересует, Não tenho interesse, No me interesa
- // @author evanlai
- // @match https://www.youtube.com/*
- // @require https://openuserjs.org/src/libs/sizzle/GM_config.js
- // @require https://cdn.jsdelivr.net/npm/sweetalert@2.1.2/dist/sweetalert.min.js
- // @require https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js
- // @grant GM_getValue
- // @grant GM_setValue
- // @grant none
- // @namespace https://greasyfork.org/users/732057
- // ==/UserScript==
- if (window.trustedTypes && window.trustedTypes.createPolicy) {
- window.trustedTypes.createPolicy('default', {
- createHTML: string => string,
- createScriptURL: string => string,
- createScript: string => string,
- });
- }
- function wait(ms) {
- return new Promise((resolve) => {
- setTimeout(resolve, ms);
- });
- }
- function inArray(array, element) {
- return array.indexOf(element) !== -1;
- }
- var runflag = true;
- var firstEnterThisPage = true;
- async function dismissCurrent() {
- let clickedSomething = false;
- let foundAusblenden = false;
- for (const item of document.querySelectorAll('ytd-menu-service-item-renderer')) {
- if (item.icon === (localStorage.getItem('videoOrCreator') === "video" ? "REMOVE" : "NOT_INTERESTED")) {
- clickedSomething = true;
- item.click();
- }
- // else if (item.icon === "__") {
- // foundAusblenden = item;
- // }
- }
- if (!clickedSomething && foundAusblenden !== false) {
- foundAusblenden.click();
- }
- return true;
- }
- async function dismissAll() {
- let list = document.querySelectorAll('ytd-rich-grid-media button[aria-label]');
- while (firstEnterThisPage && list.length < 1) {
- await wait(1000);
- list = document.querySelectorAll('ytd-rich-grid-media button[aria-label]');
- }
- firstEnterThisPage = false;
- let i = 0;
- for (let item of list) {
- item.click();
- await wait(50);
- await dismissCurrent();
- await wait(100);
- i++;
- if (i >= parseInt(localStorage.getItem('maximumNumberOfBlocksPerSession'))) break;
- }
- if (runflag) {
- runflag = false;
- // await dismissAll();
- }
- window.location.reload();
- }
- window.dismissAll = function() {
- dismissAll();
- }
- window.openGmcSettings = function() {
- let settings = document.getElementById('J_settings');
- settings.style.display = '';
- swal({
- content: settings,
- buttons: {
- // confirm: {
- // text: "save",
- // value: 1
- // },
- cancel: "close",
- },
- }).then(async (value) => {
- settings.style.display = 'none';
- // if (value !== 1) return false
- });
- }
- function createButton() {
- var elementForInsertNewButton = document.querySelector('#start') || document.querySelector('#logo-icon') || document.querySelector('#country-code');
- var dismissAllLink = document.createElement('a');
- dismissAllLink.id = 'J_dismiss_all';
- dismissAllLink.href = 'javascript:';
- dismissAllLink.style.display = 'inline-flex';
- dismissAllLink.style.marginLeft = '2em';
- dismissAllLink.style.alignItems = 'center';
- dismissAllLink.style.verticalAlign = 'middle';
- dismissAllLink.style.color = 'gray';
- dismissAllLink.style.fontSize = '2em';
- dismissAllLink.style.lineHeight = '2em';
- dismissAllLink.style.textDecoration = 'none';
- dismissAllLink.onclick = window.dismissAll;
- dismissAllLink.textContent = '⟳';
- var openGmcSettingsLink = document.createElement('a');
- openGmcSettingsLink.id = 'J_open_settings';
- openGmcSettingsLink.href = 'javascript:';
- openGmcSettingsLink.style.display = 'inline-flex';
- openGmcSettingsLink.style.marginTop = '1px';
- openGmcSettingsLink.style.marginLeft = '16px';
- openGmcSettingsLink.style.alignItems = 'center';
- openGmcSettingsLink.style.verticalAlign = 'middle';
- openGmcSettingsLink.style.color = 'gray';
- openGmcSettingsLink.style.fontSize = '2em';
- openGmcSettingsLink.style.lineHeight = '2em';
- openGmcSettingsLink.style.textDecoration = 'none';
- openGmcSettingsLink.onclick = window.openGmcSettings;
- openGmcSettingsLink.textContent = '⋮';
- elementForInsertNewButton.appendChild(dismissAllLink);
- elementForInsertNewButton.appendChild(openGmcSettingsLink);
- }
- createButton();
- // settings
- document.addEventListener('alpine:init', () => {
- var maximumNumberOfBlocksPerSession = localStorage.getItem('maximumNumberOfBlocksPerSession');
- if(typeof maximumNumberOfBlocksPerSession === 'undefined') {
- maximumNumberOfBlocksPerSession = 12;
- localStorage.setItem('maximumNumberOfBlocksPerSession', maximumNumberOfBlocksPerSession);
- }
- Alpine.store('maximumNumberOfBlocksPerSession', {
- value: maximumNumberOfBlocksPerSession,
- valueHasChanged(){
- localStorage.setItem('maximumNumberOfBlocksPerSession', this.value);
- }
- })
- var autoMode = localStorage.getItem('autoMode');
- if(typeof autoMode === 'undefined') {
- autoMode = false;
- localStorage.setItem('autoMode', autoMode);
- }
- Alpine.store('autoMode', {
- on: autoMode,
- toggle() {
- this.on = ! this.on
- localStorage.setItem('autoMode', this.on);
- }
- })
- var videoOrCreator = localStorage.getItem('videoOrCreator');
- if(typeof videoOrCreator === 'undefined') {
- videoOrCreator = 'video';
- localStorage.setItem('videoOrCreator', videoOrCreator);
- }
- Alpine.store('videoOrCreator', {
- value: videoOrCreator,
- toggle() {
- this.value = this.value === "creator" ? "video" : "creator";
- localStorage.setItem('videoOrCreator', this.value);
- }
- })
- if(localStorage.getItem('autoMode') && localStorage.getItem('autoMode') !== 'false') window.dismissAll()
- });
- var gmcSettings = document.createElement('div');
- gmcSettings.id = 'J_settings';
- gmcSettings.innerHTML = `
- <span>Maximum number of blocks per session:<input type="text" x-data="$store.maximumNumberOfBlocksPerSession" x-model="value" x-init="$watch('value', value => $store.maximumNumberOfBlocksPerSession.valueHasChanged())"></span>
- <button x-data @click="$store.autoMode.toggle()">Automatically refresh the page and process all</button> ---> <span x-data="$store.autoMode" x-text="on"></span>
- <button x-data @click="$store.videoOrCreator.toggle()">Block video or creator</button> ---> <span x-data="$store.videoOrCreator" x-text="value"></span>
- `;
- document.querySelector('body').appendChild(gmcSettings);