Greasy Fork

I'm wenku8 admin!

通过简单的几行代码把用户伪装成wenku8管管

目前为 2021-06-30 提交的版本。查看 最新版本

此脚本不应直接安装,它是一个供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @require https://update.greasyfork.icu/scripts/428403/945856/I%27m%20wenku8%20admin%21.js

main();

function main() {
	if (injectOpener()) {
		window.close();
		return false;
	};

	getDocument('https://www.wenku8.net/userinfo.php?id=2', function(oDoc) {
		const content = document.querySelector('#content');
		const table = content.querySelector('table');
		const oContent = oDoc.querySelector('#content');
		const otable = oContent.querySelector('table');

		content.innerHTML = oContent.innerHTML;
	});
}

function injectOpener() {
	if (location.href !== 'about:blank' || !window.opener) {return false;};

	const scripts = document.scripts;
	const oWin = window.opener.window;
	const oDoc = window.opener.document;
	for (const script of scripts) {
		if (!script.src.match(/^https?:\/\//)) {continue;};
		loadJS(script.src, null, oDoc);
	}
	return true;
}

// Load javascript from given url
function loadJS(url, callback, oDoc=document) {
	var script = document.createElement('script'),
		fn = callback || function () {};
	script.type = 'text/javascript';

	//IE
	if (script.readyState) {
		script.onreadystatechange = function () {
			if (script.readyState == 'loaded' || script.readyState == 'complete') {
				script.onreadystatechange = null;
				fn();
			}
		};
	} else {
		//其他浏览器
		script.onload = function () {
			fn();
		};
	}

	script.src = url;
	oDoc.getElementsByTagName('head')[0].appendChild(script);
}

// Download and parse a url page into a html document(dom).
// when xhr onload: callback.apply([dom, args])
function getDocument(url, callback, args = []) {
	const xhr = new XMLHttpRequest();
	xhr.open('GET', url);
	xhr.responseType = 'blob';
	xhr.onload = function (response) {
		const htmlblob = xhr.response;
		const reader = new FileReader();
		reader.onload = function (e) {
			const htmlText = reader.result;
			const dom = new DOMParser().parseFromString(htmlText, 'text/html');
			args = [dom].concat(args);
			callback.apply(null, args);
			//callback(dom, htmlText);
		}
		reader.readAsText(htmlblob, 'GBK');
	}
	xhr.send();
}