// ==UserScript== // @name 阿里云盘自动切换为列表模式 // @namespace Violentmonkey Scripts // @match https://www.aliyundrive.com/s/* // @version 1.0 // @author 渣渣火 // @description 2022/6/6 18:23:54 // @license MIT // @downloadURL none // ==/UserScript== (function () { var listeners = []; var doc = window.document; var MutationObserver = window.MutationObserver || window.WebKitMutationObserver; var observer; function domReady(selector, fn) { // 储存选择器和回调函数 listeners.push({ selector: selector, fn: fn }); if (!observer) { // 监听document变化 observer = new MutationObserver(check); observer.observe(doc.documentElement, { childList: true, subtree: true }); } // 检查该节点是否已经在DOM中 check(); } function check() { // 检查是否匹配已储存的节点 for (var i = 0; i < listeners.length; i++) { var listener = listeners[i]; // 检查指定节点是否有匹配 var elements = doc.querySelectorAll(listener.selector); for (var j = 0; j < elements.length; j++) { var element = elements[j]; // 确保回调函数只会对该元素调用一次 if (!element.ready) { element.ready = true; // 对该节点调用回调函数 listener.fn.call(element, element); } } } } // 对外暴露ready window.domReady = domReady; })(); domReady('.list-container--2l28P', toList); function toList() { let btn = document.querySelector('.switch-wrapper--1yEfx'); if(btn) { btn.click(); }; };