Greasy Fork

Greasy Fork is available in English.

CNKI 中国知网 PDF 全文下载

参见 http://blog.yuelong.info/post/cnki-pdf-js.html

当前为 2016-04-17 提交的版本,查看 最新版本

// ==UserScript==
// @id             CNKI-PDF
// @name           CNKI 中国知网 PDF 全文下载
// @version        1.2.1
// @namespace      http://yuelong.info
// @author         YUE Long
// @description    参见 http://blog.yuelong.info/post/cnki-pdf-js.html
// @include        http://*.cnki.net/*
// @include        http://*.cnki.net.*/*
// @run-at         document-idle
// @supportURL     http://blog.yuelong.info/post/cnki-pdf-js.html
// ==/UserScript==

var allLis, thisLi, newLi, aPDF, allLinks, thisLink, pageType;
pageType = true;

allLinks = document.evaluate(
	'//a[@href]',
	document,
	null,
	XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
	null);

allLis = document.evaluate(
    "//li[@class]",
	document,
	null,
	XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
	null);

if (allLis) {
	for (var i = 0; i < allLis.snapshotLength; i++) {
		thisLi = allLis.snapshotItem(i);
		if (thisLi.getAttribute("class").indexOf("readol") !== -1) {
			pageType = false;
			newLi = document.createElement('li');
			newLi.setAttribute("class","pdf");
			aPDF='<a target="_blank" href="' + thisLi.firstChild.href.replace("&dflag=readonline","&dflag=pdfdown") +'">PDF下载</a>';
			newLi.innerHTML=aPDF;
			thisLi.parentNode.insertBefore(newLi, thisLi.nextSibling);
		}
		if (thisLi.getAttribute("class").indexOf("cajNew") !== -1) {
			pageType = false;
		}
	}
}

if (pageType) {
	for (var i = 0; i < allLinks.snapshotLength; i++) {
		thisLink = allLinks.snapshotItem(i);
		if (thisLink.href && thisLink.href.indexOf("download.aspx?filename=") != -1 && thisLink.href.indexOf("&dflag") == -1) {
		thisLink.href = thisLink.href + "&dflag=pdfdown";}
	}
};