您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
download Nature & sub Publications via CALIS access 直接下载Natue及其子刊
当前为
// ==UserScript== // @name nature direct download // @namespace minhill.com // @description download Nature & sub Publications via CALIS access 直接下载Natue及其子刊 // @include http://www.nature.com/* // @include https://www.nature.com/* // @version 1.1 // @grant none // ==/UserScript== //////////metainfo/////////////// var journalInfo={ /* nature:{ name:"nature", //citeReg:/nature.com\/(.*?)\/.*?\/v(\d*?)\/n(\d*?)\/.*?\/.*?(\d+)[a-z]*?\.ris/, citeReg:/nature.com\/(.*?)\/.*?\/v(\d*?)\/n(\d*?)\/.*?\/(.*?)\.ris/, directLink:"", insertNode:"" }, nclimate:{ name:"nclimate", citeReg:/nature.com\/(.*?)\/.*?\/v(\d*?)\/n(\d*?)\/.*?\/(.*?)\.ris/, directLink:"", insertNode:"" }, ngeo:{ name:"ngeo", citeReg:/nature.com\/(.*?)\/.*?\/v(\d*?)\/n(\d*?)\/.*?\/(.*?)\.ris/, directLink:"", insertNode:"" },*/ common:{ name:"common", citeReg:/nature.com\/(.*?)\/.*?\/v(\d*?)\/n(\d*?)\/.*?\/(.*?)\.ris/, directLink:"", insertNode:function(directLink){ var insertParentNode = document.getElementsByClassName("tools")[0]; insertParentNode.innerHTML += '<li id="directdownload" class="download-pdf">'+ '<a style="color:red" target="_blank" href="'+directLink+'">Direct download</a>'+ '</li>'; } }, common2:{ name:"common2", citeReg:/nature.com\/(.*?)\/.*?\/v(\d*?)\/n(\d*?)\/.*?\/(.*?)\.ris/, directLink:"", insertNode:function(directLink){ var insertParentNode = document.getElementsByClassName("links")[0]; insertParentNode.innerHTML += '<li id="directdownload" class="permissions"><a style="color:red" target="_blank" href="'+directLink+'">Direct download via CALIS</li></a>'; } }, common3:{ name:"common3",//为有PDF的情况,纯测试 citeReg:/nature.com\/(.*?)\/.*?\/v(\d*?)\/n(\d*?)\/.*?\/(.*?)\.ris/, directLink:"", insertNode:function(directLink){ var insertParentNode = document.getElementsByClassName("download-pdf")[0]; insertParentNode.innerHTML += '<a style="color:red" id="directdownload" class="download-pdf" target="_blank" href="'+directLink+'">Direct download via CALIS</a>'; } }, } //var supportList=["nature","nclimate",""] var metainfo={ citationLink:null, type:null } ////insert function function insertPDFLink(citationLink,journal){ //alert(citationLink); //var risElements=citationLink.match(/nature.com\/(.*?)\/.*?\/v(\d*?)\/n(\d*?)\/.*?\/(.*?).ris/); var risElements=citationLink.match(journal.citeReg); ///\/(.*?)\/.*?\/v(\d*?)\/n(\d*?)\/.*?\/\w*?(\d*?).ris/ //alert(risElements[4]); var directLink = "http://fulltext.calis.edu.cn/nature/"+risElements[1]+"/"+risElements[2]+"/"+risElements[3]+"/"+risElements[4]+".pdf"; journal.insertNode(directLink); //http://fulltext.calis.edu.cn/nature/nclimate/4/10/nclimate2357.pdf //alert(directLink); /* var insertParentNode = document.getElementsByClassName("tools")[0]; //alert(insertParentNode.innerHTML); insertParentNode.innerHTML += '<li id="directdownload" class="download-pdf">'+ '<a target="_blank" href="'+directLink+'">直接下载</a>'+ '</li>'; */ } //////end//// /////////main//////////// if(document.getElementsByClassName("download-citation").length){ metainfo.citationLink=document.getElementsByClassName("download-citation")[0].getElementsByTagName("a")[0].href; metainfo.type="common"; } else if(document.getElementsByClassName("export-citation").length){ metainfo.citationLink=document.getElementsByClassName("export-citation")[0].getElementsByTagName("a")[0].href; metainfo.type="common2"; } else if(document.getElementsByClassName("supplementary").length){ metainfo.citationLink=document.getElementById("articlenav").getElementsByClassName("supplementary")[0].getElementsByTagName("li")[0].getElementsByTagName("a")[0].href; metainfo.type="common3"; } if(metainfo.citationLink){ //alert(metainfo.citationLink); var journal = metainfo.citationLink.match(/nature.com\/(.*?)\//)[1].toString(); if(journalInfo[journal]){ insertPDFLink(metainfo.citationLink,journalInfo[journal]); } else{ insertPDFLink(metainfo.citationLink,journalInfo[metainfo.type]); } }