Direct File for Google Classroom

Directly Download the Files in Google Classroom using Ctrl Click

目前為 2022-03-27 提交的版本,檢視 最新版本

// ==UserScript==
// @name         Direct File for Google Classroom
// @namespace    http://tampermonkey.net/
// @version      0.3
// @description  Directly Download the Files in Google Classroom using Ctrl Click
// @author       You
// @match        https://classroom.google.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=google.com
// @grant        none
// @license MIT
// ==/UserScript==

(function() {
    'use strict';

    // Your code here...

        const M_HREF="https://drive.google.com/file/d/"
    
    const chkEvtKey=(evt)=>evt.ctrlKey || evt.metaKey;
    const chkEvtKey2=(evt)=>evt.key=='Control' || evt.key=='Meta';
    
    document.addEventListener('mouseenter',function(evt){
        const linkElm = evt.target.closest(`[href*="${M_HREF}"]`) || evt.target.closest(`[data-ozhref*="${M_HREF}"]`) ;
        if(!linkElm)return;
        const orhref= linkElm.dataset.ozhref || (linkElm.dataset.ozhref=linkElm.href);
        const mres=orhref.match(/\https\:\/\/drive\.google\.com\/file\/d\/([0-9a-zA-Z\-\_\+]+)\/\w+/);
        if(!mres)return;
        linkElm.href=chkEvtKey(evt)?`https://drive.google.com/u/1/uc?id=${mres[1]}&export=download`:orhref
    },true);
    
    
    
    document.addEventListener('keydown',function(evt){
        
        const linkElm = evt.target.closest(`[data-ozhref*="${M_HREF}"]`) ;
        if(!linkElm)return;
        if(chkEvtKey2(evt)) evt.preventDefault();
        
    },true);
    document.addEventListener('keypress',function(evt){
                
        const linkElm = evt.target.closest(`[data-ozhref*="${M_HREF}"]`) ;
        if(!linkElm)return;
        if(chkEvtKey2(evt)) evt.preventDefault();
        
    },true);
    


})();