User:Evesiesta/pageinfo.js

来自维基导游

注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Internet Explorer或Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
  • Opera:Ctrl-F5
/*!
 * @author 安忆 [[zh:User:AnYiLin]]
 * @file ArticleInfo.js
 *
 * Copyright (c) 2020-present, 安忆.
 *
 * This source code is licensed under the GPL v3 license.
 */
(function(mw) {
	var dom;
	if (document.body.classList.contains('skin-cologneblue')) dom = document.getElementById('mw-content-text')
	else if (document.body.classList.contains('skin-minerva') && !document.body.classList.contains('page-Main_Page')) dom = document.querySelector('.minerva__subtitle')
	else dom = document.getElementById('contentSub');
	if (dom && RLCONF.wgAction === 'view' && RLCONF.wgIsArticle && RLCONF.wgCurRevisionId !== 0 && RLCONF.wgRevisionId !== 0 && RLCONF.wgCurRevisionId === RLCONF.wgRevisionId && !/wmmirror\.org$/.test(window.location.host)) {
		var style = document.createElement('style');
		style.id = 'css-xtools';
		style.appendChild(document.createTextNode('#xtools,.skin-minerva #xtools+.minerva__subtitle>.subpages,.skin-timeless #xtools+#contentSub>.subpages{font-size:.8em;line-height:1;width:auto}.skin-minerva #xtools+.minerva__subtitle{margin:0}.skin-minerva #xtools,.skin-timeless #xtools,.skin-timeless #xtools+#contentSub>.subpages{border:solid #eaecf0;border-width:1px 0;padding:.4em 0}.skin-minerva #xtools+.minerva__subtitle>.subpages,.skin-timeless #xtools+#contentSub>.subpages{padding:.4em 0 .4em 19px}'));
		document.head.appendChild(style);
		dom.insertAdjacentHTML('beforebegin', '<div class="noprint" id="xtools"><span id="xtools_result"></span></div>');
		var xhr = new XMLHttpRequest();
		xhr.open('GET', 'https://xtools.wmcloud.org/api/page/articleinfo/' + mw.config.get('wgDBname') + '/' + RLCONF.wgPageName.replace(/["%&?+\\]/g, escape) + '?format=html&uselang=' + mw.config.get('wgUserLanguage'));
		xhr.send();
		xhr.onreadystatechange = function() {
			if (xhr.readyState === 4 && xhr.status === 200) {
					document.getElementById('xtools_result').insertAdjacentHTML('afterbegin', xhr.responseText)
			} else {
					var text = ['zh', 'zh-hans', 'zh-cn', 'zh-sg'].indexOf(mw.config.get('wgUserLanguage')) !== -1 ? '加载失败' : '載入失敗';
					document.getElementById('xtools_result').insertAdjacentHTML('afterbegin', '<span style="line-height:20px;margin-left:19px">ArticleInfo' + text + '</span>')
			}
		}
	}
})(mw);