Directly Download the Files in Google Classroom using Ctrl Click
当前为
// ==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);
})();