// ==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
// @downloadURL https://update.greasyfork.icu/scripts/9604/nature%20direct%20download.user.js
// @updateURL https://update.greasyfork.icu/scripts/9604/nature%20direct%20download.meta.js
// ==/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 += '
'+
'Direct download'+
'';
}
},
common2:{
name:"common2",
citeReg:/nature.com\/(.*?)\/.*?\/v(\d*?)\/n(\d*?)\/.*?\/(.*?)\.ris/,
directLink:"",
insertNode:function(directLink){
var insertParentNode = document.getElementsByClassName("links")[0];
insertParentNode.innerHTML += 'Direct download via CALIS';
}
},
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 += 'Direct download via CALIS';
}
},
}
//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 += ''+
'直接下载'+
'';
*/
}
//////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]);
}
}