// ==UserScript== // @name 中国知网CNKI硕博论文PDF下载 // @version 0.8.3 // @namespace https://greasyfork.org/users/244539 // @icon https://www.cnki.net/favicon.ico // @description 添加知网文献PDF下载按钮/add PDF download button to CNKI. // @author leftjie // @match http*://*.cnki.net // @match http*://cdmd.cnki.com.cn/Article/CDMD-* // @match http*://*/kcms/detail/detail.aspx?*dbcode=* // @match http*://*/KCMS/detail/detail.aspx?*dbcode=* // @match http*://*/kns*/defaultresult/index* // @match http*://*/KNS8/AdvSearch?* // @match http*://*/kns/brief/*result* // @run-at document-idle // @grant unsafeWindow // @downloadURL none // ==/UserScript== //文献详情页面 var $ = unsafeWindow.jQuery; (function() { 'use strict'; var url = window.location.href; if(url.indexOf('detail.aspx') != -1){ var dllink = document.getElementsByClassName('operate-btn'); var dl = ""; for (var i = 0;i <= dllink.length; i++) { var nhdown = dllink[i].getElementsByTagName('a'); if(url.indexOf('CMFD') != -1 || url.indexOf('CJFD') != -1 || url.indexOf('CDFD') != -1 || url.indexOf('CAPJ') != -1){ if (i == 0){ dl = nhdown[1].href.replace('dflag=nhdown','dflag=pdfdown').replace('dflag=cajdown','dflag=pdfdown'); }else{ dl = nhdown[0].href.replace('dflag=nhdown','dflag=pdfdown').replace('dflag=cajdown','dflag=pdfdown'); } } var li = document.createElement('li'); var a = document.createElement('a'); li.className = "btn-dlpdf"; a.innerHTML = "PDF 下载"; a.href = dl; a.style.backgroundColor="#fb4376"; li.appendChild(a); document.getElementsByClassName('operate-btn')[i].appendChild(li); } }; })(); //知网空间学位论文 (function() { var url = window.location.href; if(url.indexOf('cdmd.cnki.com.cn') != -1){ var cnki_space_id = url.match(/-([0-9]+).htm/)[1]; console.log(cnki_space_id); var ty_caj = document.getElementById("ty_caj"); var newe = document.createElement("div"); var newe_a = document.createElement('a'); newe.className = "down_button"; newe.id = "ty_pdf"; newe_a.innerHTML = "PDF 下载(跳)"; newe_a.href = "https://kns.cnki.net/kcms/detail/detail.aspx?dbcode=CMFD&dbname=CMFDTEMP&filename=" + cnki_space_id + ".nh"; newe_a.target = "_blank"; newe.appendChild(newe_a); document.getElementById("down_3").insertBefore(newe,ty_caj); } })(); //搜索结果页面 (function() { function downloadFile(url) { window.open(url,'_blank') } var au = []; $(document).ajaxSuccess(function() { if (arguments[2].url.indexOf('/Brief/GetGridTableHtml') + 1) { $('.downloadlink').attr('href',function(){return this.href+"&dflag=pdfdown";}); $("tr input[name='CookieName']").click(function(){ var l = localStorage.getItem("FileNameS").split(","); var urls = []; if (l == ""){ urls = []; au = []; }else{ $.each(l,function(index,val){ var u = $("input[value='"+ l[index] +"']").parent("td").parent("tr").find(".downloadlink")[0].href; urls.push(u); }); } au = urls; }) $(".toolbar").after(`
`); }; // 开关 $(".diy-choose-btn").each(function(){ var texts = $(this).attr('data-toggle').split('|'); $(this).siblings('.choose-text').text(this.checked?texts[0]:texts[1]); $("#dd").text(this.checked?"批量下载"+texts[0]:"批量下载"+texts[1]); }); $(".diy-choose-btn").off("change"); $(".diy-choose-btn").on("change", function(){ var texts = $(this).attr('data-toggle').split('|'); $(this).siblings('.choose-text').text(this.checked?texts[0]:texts[1]); $("#dd").text(this.checked?"批量下载"+texts[0]:"批量下载"+texts[1]); if(this.checked){ $('.downloadlink').attr('href',function(){return this.href+"&dflag=pdfdown";}); }else{ $('.downloadlink').attr('href',function(){return this.href.replace("&dflag=pdfdown","");}); } }); }); $(document).on("click","#dd",function(){ //console.log(au); if(au.length == 0){ alert("未选择"); return false; } for(var i=0;i`); loadCss(`.diy-choose-btn { display: none; } .choose-label { box-shadow: #b1b1b1 0px 0px 0px 1px; width: 30px; height: 16px; display: inline-block; border-radius: 16px; position: relative; background-color: #bdbdbd; overflow: hidden; margin: 0; margin-top: -3px; cursor: pointer; vertical-align: middle; } .choose-label:before { content: ''; position: absolute; left: 0; width: 16px; height: 16px; display: inline-block; border-radius: 20px; background-color: #fff; z-index: 20; -webkit-transition: all 0.2s; transition: all 0.2s; } .diy-choose-btn:checked + label.choose-label:before { left: 14px; } .diy-choose-btn:checked + label.choose-label { background-color: #009cef; box-shadow: #009cef 0px 0px 0px 1px; } .choose-text { display: inline-block; line-height: 20px; color: #888; font-size: 12px;} .diy-btn {float:left;} .diy-btn li {display:inline-block;line-height:30px;padding:0 6px;border:1px solid #eee;background-color:#fff;}`); })();