油猴脚本修改sciencedirect论文下载名
说明:
最近下载论文时 发现无法下载pdf,刚好在学JS,就一边学习一边编了一个脚本。代码很烂,功能基本符合预期。
v1.0功能:
当用户拥有Access权限时,生成dowload按钮,调用sciencedirect官方下载,下载文件名默认为文章名。
当用户没有Access权限时,调用scihub下载。
脚本地址:
https://greasyfork.org/zh-CN/scripts/451690-sciencedirect-download
v1.0脚本代码:
// ==UserScript==
// @name ScienceDirect Download
// @name:zh-CN ScienceDirect下载
// @namespace tampermonkey.com
// @version 1.0
// @license MIT
// @description Avoid jumping to online pdf, and directly download ScienceDirect literature to local
// @description:zh-CN 避免跳转在线pdf,可直接下载ScienceDirect文献到本地
// @match *://www.sciencedirect.com/*
// @match *://pdf.sciencedirectassets.com/*
// @grant GM_setValue
// @grant GM_getValue
// @run-at document-start
// ==/UserScript==
function getBlob(url, cb) {var xhr = new XMLHttpRequest();xhr.open('GET', url, true);xhr.responseType = 'blob';xhr.onload = function () {if (xhr.status === 200) {cb(xhr.response);}};xhr.send();
};
function saveAs(blob, filename) {if (window.navigator.msSaveOrOpenBlob) {navigator.msSaveBlob(blob, filename);} else {var link = document.createElement('a');var body = document.querySelector('body');link.href = window.URL.createObjectURL(blob);link.download = filename;// fix Firefoxlink.style.display = 'none';body.appendChild(link);link.click();body.removeChild(link);window.URL.revokeObjectURL(link.href);}
}function download(url, filename) {getBlob(url, function (blob) {saveAs(blob, filename);});
}
(function () {'use strict';var domain = document.domain;if (domain == 'pdf.sciencedirectassets.com') {var url = document.URL + '&download=true';console.log(url);var title = document.URL.split("/")[5].split("-")[2];try {var id = document.URL.split("/")[5].split("-")[2]title = GM_getValue(id)} catch (err) {console.log("err_message" + err.message);}// var html_url = "https://www.sciencedirect.com/science/article/pii/" + document.URL.split("/")[5].split("-")[2]var ret = prompt('Type your filename and click confirm to download!', title);if (ret !== null && ret != '') {var filename = ret + '.pdf';download(url, filename);}}if (domain == 'www.sciencedirect.com') {document.addEventListener('DOMContentLoaded', (event) => {console.log('DOM加载完成.');var linkid = document.head.getElementsByTagName('meta')[0].content;var titile = document.title.replace(' - ScienceDirect', '');GM_setValue(linkid, titile);var access = document.querySelector("#mathjax-container > div.sticky-outer-wrapper > div > div.accessbar > ul > li:nth-child(1) > a").href.split('login')[1];var doi = document.getElementsByClassName('doi')[0].href.split('org')[1];GM_setValue('access', access);if (GM_getValue('access')) {var scihubs = ['http://sci-hub.ren', 'https://sci-hub.ru/', 'https://sci-hub.se/', 'https://sci-hub.ee/', 'https://sci-hub.shop/', 'https://sci-hub.ren/', 'https://sci-hub.st/'];var scihub = scihubs[Math.floor(Math.random() * scihubs.length)];new_url = scihub + doi;var ret = prompt('Type scihub address!', scihub);if (ret !== null && ret != '') {new_url = ret + doi;window.location.href = new_url} else { }} else {var new_url = "https://www.sciencedirect.com/science/article/pii/" + linkid + "/pdfft?isDTMRedir=true";console.log(new_url);let Container = document.createElement('div')Container.id = "sp-ac-container";Container.style.position = "fixed";Container.style.left = "250px";Container.style.top = "28px";Container.style['z-index'] = "2";Container.innerHTML = `<button title="Click to download" class="button1" id="download" οnclick="window.location.href='${new_url}'")>download</button><style>.button1 {-webkit-transition-duration: 0.4s;transition-duration: 0.4s;padding: 1.5px 6px;text-align: center;background-color: #f5f5f5;color: rgb(243, 109, 33);border: 0.5px rgb(134, 218, 209);border-radius: 9px;font-family: NexusSans,Arial,Helvetica,Lucida Sans Unicode,Microsoft Sans Serif,Segoe UI Symbol,STIXGeneral,Cambria Math,Arial Unicode MS,sans-serif!important;}.button1:hover {background-color: rgb(134, 218, 209);;;color: red;}</style>`;document.body.appendChild(Container);}});}
})()
v1.0脚本说明:
GM_setValue, GM_getValue
使用油猴插件存储变量
@run-at document-start
在页面加载前运行脚本
prompt()
函数用于弹出提示用户进行输入信息的文本框,其返回用户输入的字符串。
油猴脚本修改sciencedirect论文下载名相关推荐
- 自用chrome+油猴脚本,使用迅雷下载百度云大文件,一键离线下载
油猴是有名的火狐浏览器插件(Greasemonkey),当然也有Chrome版本(tampermonkey),甚至IE.Safari.Opera都有--虽然这些插件是由不同的开发者开发出来的,界面也可 ...
- 【油猴脚本】改变网页代码块的字体样式/美化LeetCode代码文字显示(CSS;设置@font-face和font-family)
美化网页的代码字体 脚本安装地址: 参考:改变网页代码块的字体样式 更新日志 V0.1 更新时间:2021年9月20日23:04:41 更新功能: 1.改变LeetCode.CSDN.博客园嵌入的代码 ...
- 为了不手动命名驼峰变量名,我开发了一套油猴脚本...
前言 你知道程序员最经常做的事是什么吗?是取变量名! 我们常规取变量名的方式是这样的,打开谷歌搜索或者有道搜索,输入变量的中文名,然后复制翻译结果,转到编译器改为驼峰命名,大致流程如下: 我个人对这种 ...
- 雷利子油猴脚本v0.3.6,无需启动天翼客户端直接下载
简介: 雷利子油猴脚本是一款非常强力的天翼网盘下载工具,能够帮助你跳过客户端直接在网页上下载文件,突破多文件分享页文件大小下载限制,有需要的用户不要错过了,欢迎下载使用! 插件功能: [√] 突破单文 ...
- (油猴脚本网盘下载加速)
百度网盘不限速下载方法 一.浏览器安装Tampermonkey扩展 1.1安装扩展 1.2打开扩展 二.安装网盘下载脚本 2.1安装脚本 2.2首次进行验证 三.脚本使用 3.1创建分享链接 3.2下 ...
- IDM下载工具配合油猴脚本帮你实现快速下载百度网盘文件
安装IDM下载工具 第一步: 安装IDM 第二步: 配置IDM 具体步骤为: 提前新建一个文件夹,专门存放IDM的下载文件 第三步: 将IDM的扩展程序集成到谷歌浏览器,使得我们在谷歌浏览器中点击下载 ...
- Tampermonkey(油猴)脚本编写快速入门
目录 油猴脚本概述 脚本注释/注解 脚本权限 grant 添加新脚本 自定义网页倒计时 网页浏览离开黑屏保护 微博视频下载助手 华为云工作项列表突出展示工作项 Greasy Fork 发布脚本 油猴脚 ...
- 【教程、无技术含量】简单的油猴脚本编写教程
不建议阅读者: 前端大神 想要深入学习(涉及到分析挖掘调用网站中js算法/自己写算法)油猴脚本的读者[备注:楼主也不会,楼主也很绝望啊...] 阅读以下内容所需知识: javascript/jQuer ...
- 油猴脚本Tampermonkey的简介和安装使用,五分钟安装
什么是油猴脚本 Tampermonkey 是一款免费的浏览器扩展和最为流行的用户脚本管理器,它支持以下浏览器,Chrome,Microsoft Edge,Safari,Opera Next,Firef ...
- 油猴脚本、常用拓展的教程
目录 油猴脚本 常用拓展 本文章为个人经验总结,没有广告以及营销想法. 油猴脚本 注:油猴脚本部分分两部分:拓展安装教程.脚本下载教程 油猴脚本在主流浏览器都可以安装,本篇以edge为例 1.打开浏览 ...
最新文章
- mysql为什么要压测_mysql集群压测的详细介绍
- 为什么铝基板无线接受电路板将信号源烧了?
- 关于无法显示-隐藏文件、文件夹以及操作系统文件夹
- 等了半个多月的悟空宝终身寿险
- 使用 Arthas 排查开源 Excel 组件问题
- HTML基础第四讲---图像
- sql和sqlite常用查询语句
- 如何写一个vue指令directive
- 模拟扑克牌随机选择(Java)
- ajax php 错误提示,php – jQuery AJAX错误处理
- 计算机兴趣小组的意义,计算机兴趣小组总结
- Linux scp 两台服务器传输文件
- Windows 添加用户
- canoe开发从入门到精通_后端java开发工程师学习路线
- 卡常数技巧(未完结)
- 表单标签<input>的介绍
- Sql Server Report Builder 计算标准偏差
- .tar.lz压缩包解压
- 存储过程,使用游标,详细过程及详解
- MAC maven安装配置