Greasy Fork is available in English.
处理大于50M的文件需要客户端下载的问题
// ==UserScript== // @name 天翼云盘大文件直接下载,启用分享功能 // @namespace https://greasyfork.org/zh-CN/users/4330 // @version 0.3 // @description 处理大于50M的文件需要客户端下载的问题 // @author x2009again // @match http*://cloud.189.cn/* // @grant none // @run-at document-end // ==/UserScript== (function() { 'use strict'; (function(open) { XMLHttpRequest.prototype.open = function() { this.addEventListener("readystatechange", function() { if(this.responseURL.indexOf("listFiles.action")>-1&&this.readyState==3) { if(window.location.href=="https://cloud.189.cn/main.action"||window.location.href=="https://cloud.189.cn/main.action#home"){ console.log("主页") mainView.fileListTabObj[mainView.options.fileId].fileListView.filePreview.downloadFile=function (model, downloadType) { var that = this, opts = that.mainView.options; that.isSecurity = '' != opts.isSecurity && 'undefined' != typeof opts.isSecurity && opts.isSecurity; var models; if (void 0 === model || null == model) { var fileList = that.mainView.fileList || that.mainView.fileListTabObj[that.mainView.options.fileId].fileList; models = fileList.selected() } else models = [ model ]; if (0 != models.length) if (1 == models.length) if (models[0].get('isFolder')) that.isSecurity ? that.downloadPackage(models[0].get('fileId'), downloadType) : that.downloadPackageByClient(models); else { var firstFileSize = models[0].attributes.firstFileSize || 0; if (!that.isSecurity || firstFileSize <= 52428800) { if (models[0].get('downloadUrl')) { var downloadIframe = document.createElement('iframe'); downloadIframe.src = models[0].get('downloadUrl'), downloadIframe.style.display = 'none', document.body.appendChild(downloadIframe) } } else that.downloadPackageByClient(models) } else { var fileList = that.mainView.fileList || that.mainView.fileListTabObj[that.mainView.options.fileId].fileList, fileIds = fileList.getFileIdList(models); that.isSecurity ? that.downloadPackage(fileIds, downloadType) : that.downloadPackageByClient(models) } } } else { console.log("非主页") mainView.options.isSecurity=true; } mainView.showButtonGroupHandle=function (buttonGroup, selectedLength) { var that = this, hasFileLength = that.fileListTabObj[that.options.fileId].fileList.hasFile().length, hasFolderLength = that.fileListTabObj[that.options.fileId].fileList.hasFolder().length; $(buttonGroup.allAction).removeClass('disable'); 0 == selectedLength ? ($(buttonGroup.optionWrap).hide(), $(buttonGroup.allAction).addClass('disable')) : 0 == hasFolderLength ? (1 == hasFileLength ? ($(buttonGroup.singleFile).removeClass('disable'), 1 == that.fileListTabObj[that.options.fileId].fileList.isDoc().length && $(buttonGroup.singleDoc).removeClass('disable'), '' != that.options.keyword && $(buttonGroup.singleSearchFile).removeClass('disable')) : $(buttonGroup.multiFiles).removeClass('disable'), selectedLength == that.fileListTabObj[that.options.fileId].fileList.isPhoto().length && $(buttonGroup.multiPhoto).removeClass('disable')) : 0 == hasFileLength ? 1 == hasFolderLength ? $(buttonGroup.singleFolder).removeClass('disable') : $(buttonGroup.multiFolder).removeClass('disable') : $(buttonGroup.mixedAction).removeClass('disable') } } else if(window.location.href.indexOf("https://cloud.189.cn/t/")==0&& this.responseURL.indexOf("getWebImUrl.action")>-1&&this.readyState==3){ window.fileSize=200; $(".btn-download").removeClass("disable"); } }, false); open.apply(this, arguments); }; })(XMLHttpRequest.prototype.open); })();