您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
避免跳转在线pdf,可直接下载ScienceDirect文献到本地
当前为
- // ==UserScript==
- // @name ScienceDirect Download
- // @name:zh-CN ScienceDirect下载
- // @namespace tampermonkey.com
- // @version 2.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 none
- // @run-at document-start
- // ==/UserScript==
- /**
- * 获取 blob
- * @param {String} url 目标文件地址
- * @return {cb}
- */
- 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();
- }
- /**
- * 保存
- * @param {Blob} blob
- * @param {String} filename 想要保存的文件名称
- */
- 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 Firefox
- link.style.display = 'none';
- body.appendChild(link);
- link.click();
- body.removeChild(link);
- window.URL.revokeObjectURL(link.href);
- };
- }
- /**
- * 下载
- * @param {String} url 目标文件地址
- * @param {String} filename 想要保存的文件名称
- */
- 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];
- // var html_url = "https://www.sciencedirect.com/science/article/pii/" + document.URL.split("/")[5].split("-")[2]
- var ret = prompt('请输入文件名,点击确认下载', title);
- if (ret !== null && ret != '') {
- var filename = ret + '.pdf';
- download(url, filename);
- };
- };
- if (domain == 'www.sciencedirect.com') {
- document.addEventListener("DOMContentLoaded", DOM_ContentReady);
- function DOM_ContentReady() {
- // get rawlink
- var head = document.head;
- // creat newlink
- var linkid = head.getElementsByTagName('meta')[0].content;
- if (linkid) {
- var new_url = "https://www.sciencedirect.com/science/article/pii/" + linkid + "/pdfft?isDTMRedir=true";
- let Container = document.createElement('div');
- Container.id = "sp-ac-container";
- Container.style.position = "fixed";
- Container.style.left = "300px";
- Container.style.top = "28px";
- Container.style['z-index'] = "999999";
- Container.innerHTML = `<button title="Tips:Copy the title of the article before downloading" class="button1" id="download" onclick="window.location.href='${new_url}'")>download</button>
- <style>
- .button1 {
- -webkit-transition-duration: 0.4s;
- transition-duration: 0.4s;
- padding: 2px 16px;
- text-align: center;
- background-color: green;
- color: white;
- border: 1px solid #4CAF50;
- border-radius:5px;
- }
- .button1:hover {
- background-color: #4CAF50;
- color: red;
- }
- </style>`;
- document.body.appendChild(Container);
- //绑定按键点击功能
- // Container.onclick = function () {
- // // alert("你好");
- // downPlan(url);
- // return;
- // };
- // console.log(url);
- }
- }
- };
- })()