您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
this script speed up the video loading by skipping Copyright video in ZJU Classroom
// ==UserScript== // @name Skip Copyright in ZJU Classroom // @namespace http://tampermonkey.net/ // @version 2024-04-06 // @description this script speed up the video loading by skipping Copyright video in ZJU Classroom // @author You // @match https://classroom.zju.edu.cn/* // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; // Function to dispatch an 'ended' event function dispatchEndedEvent(target) { // Create and dispatch the 'ended' event Promise.resolve().then(() => { const event = new Event('ended'); target.dispatchEvent(event); //console.log('Ended event dispatched on #copy-right-video'); }); } // MutationObserver callback function function observerCallback(mutationsList, observer) { for(let mutation of mutationsList) { if (mutation.type === 'childList') { mutation.addedNodes.forEach(node => { // Check if the added node is the target element or contains the target element if (node.id === 'copy-right-video') { dispatchEndedEvent(node); observer.disconnect(); // Stop observing after the event is dispatched } else if (node.querySelector) { const targetElement = node.querySelector('#copy-right-video'); if (targetElement) { dispatchEndedEvent(targetElement); observer.disconnect(); // Stop observing after the event is dispatched } } }); } } } // Create an observer instance linked to the callback function const observer = new MutationObserver(observerCallback); // Start observing the document body for added nodes observer.observe(document.getElementById("app"), { childList: true, subtree: true }); })();