无标题
回声洞 可海星
{ cursor:wate }
<script defer>
/**
- 搬运须知: 您必须在**显眼处**标识来源“MCBBS Wiki”与作者“Salt_lovely”, **不**接受任何形式的简称或不署名。
- Notice: You have to mark origin "MCBBS Wiki" and author "Salt_lovely" in CONSPICUOS PLACE, abbreviation or omissions are NOT allowed.
- 许可证: CC BY-NC-SA 4.0
- License: CC BY-NC-SA 4.0
- /
(function () {
function main() { let ps = pageState() // 获取页面状态 let elems = HTMLElemsFliter(Array.from(document.querySelectorAll('.salt.InPageCSSLoader'))) if (elems.length < 1) { console.log('[SaltInPageCSSLoader]未检测到页内CSS'); return } else { console.log('[SaltInPageCSSLoader]检测到页内CSS, 共计' + elems.length + '个') } for (let el of elems) { // 去除标记 el.classList.remove('InPageCSSLoader') let toolbar = el.querySelector('.toolbar') // Prism处理 if (toolbar) { toolbar.remove() } // Prism处理 // 内容简单处理 let text = (el.textContent || ).replace(/^\n+|\n+$/gm, ) // 去除首尾的空行 el.textContent = text let handler = () => { // 处理这个元素 el.style.display = 'none' // 开始主要内容部分 // 简单的查错 if (text.length < 3 || text.indexOf('{') == -1 || text.indexOf('}') == -1) { highlightEl(el, '检测到不可用的CSS') console.log('[SaltInPageCSSLoader]检测到不可用的CSS:' + text) return } // 写入style let style = document.createElement('style') style.textContent = text // 搬运id if (el.hasAttribute('id')) { style.setAttribute('id', el.getAttribute('id')) el.removeAttribute('id') } document.head.appendChild(style) } if (ps == 0) { handler() } else { // 页面编写者模式 highlightEl(el, '点击应用CSS(页面编写完毕后CSS将默认启用)') el.addEventListener('click', handler) } el.style.whiteSpace = 'pre' } /**滤出数组中所有HTMLElement */ function HTMLElemsFliter(els) { let hel = [] for (let el of els) if (el instanceof HTMLElement) hel.push(el) return hel } /** 0 - 默认, 浏览页面 * * 1 - 编辑/预览页面 */ function pageState() { if (typeof mw != 'undefined' && typeof mw.config != 'undefined' && typeof mw.config.get == 'function') { switch (mw.config.get('wgAction')) { case 'view': return 0 case 'edit': case 'submit': return 1 default: return 0 } } else { return 0 } } /**高亮一个元素 */ function highlightEl(el, title = ) { el.style.display = 'block' el.style.fontSize = '1rem' el.style.color = 'crimson' el.style.border = '1px solid crimson' el.style.paddingLeft = '.5rem' el.title = title } } if (document.readyState == 'loading') { document.addEventListener('DOMContentLoaded', main) } else { main() }
})()
</script>