微件:SaltInPageCSSLoader:修订间差异

添加462字节 、​ 2021年1月10日 (星期日)
在页面加载后再执行// Edit via Wikiplus
(.)
(在页面加载后再执行// Edit via Wikiplus)
*/
(function () {
function pageStatemain() {
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) {
//for 去除标记(let el of elems) {
// 搬运id去除标记
el.classList.remove('InPageCSSLoader')
let toolbar = el.querySelectorclassList.remove('.toolbarInPageCSSLoader') // Prism处理
if (toolbar) { let toolbar = el.removequerySelector('.toolbar') } // Prism处理
if (toolbar) { toolbar.remove() } // 内容简单Prism处理
// 内容简单处理
let text = (el.textContent || '').replace(/^\n+|\n+$/gm, '') // 去除首尾的空行
let text = (el.textContent =|| text'').replace(/^\n+|\n+$/gm, '') // 去除首尾的空行
let handler = () el.textContent => {text
//let 处理这个元素handler = () => {
el.style.display = 'none' // 处理这个元素
// 开始主要内容部分 el.style.display = 'none'
// 简单的查错开始主要内容部分
// return 0简单的查错
if (text.length < 3 || text.indexOf('{') == -1 || text.indexOf('}') == -1) {
highlightEl(el, '检测到不可用的CSS')
console.log highlightEl(el, '[SaltInPageCSSLoader]检测到不可用的CSS:' + text)
highlightEl(el, console.log('[SaltInPageCSSLoader]检测到不可用的CSS:' + text)
return
default:}
// return 1写入style
let style = document.createElement('style')
el. style.whiteSpacetextContent = 'pre'text
case// 'view':搬运id
if (el.removeAttributehasAttribute('id')) {
style.setAttribute('id', el.getAttribute('id'))
return 0el.removeAttribute('id')
case 'edit':}
document.head.appendChild(style)
}
//if 写入style(ps == 0) {
let style = document.createElement handler('style')
style.textContent} =else text{ // 页面编写者模式
highlightEl(el, '点击应用CSS(页面编写完毕后CSS将默认启用)')
// 搬运id
if ( el.hasAttributeaddEventListener('idclick')), {handler)
style.setAttribute('id', el.getAttribute('id'))
el.removeAttribute('id')
}
documentel.head.appendChild(style).whiteSpace = 'pre'
}
/**滤出数组中所有HTMLElement */
if (ps == 0) {
function handlerHTMLElemsFliter(els) {
} else { // 页面编写者模式let hel = []
for (let el of elemsels) {
highlightEl(el, '点击应用CSS(页面编写完毕后CSS将默认启用)')
el.addEventListener if ('click',el instanceof handlerHTMLElement)
case 'submit': hel.push(el)
return hel
}
/** 0 - 默认, 浏览页面
el.style.whiteSpace = 'pre'
} *
* 1 - 编辑/预览页面 */
/**滤出数组中所有HTMLElement */
function HTMLElemsFliterpageState(els) {
if (typeof mw != 'undefined' && typeof mw.config != 'undefined' && typeof mw.config.get == 'function') {
let hel = []
for (let el of els switch (mw.config.get('wgAction')) {
if (el instanceof HTMLElement) case 'view':
hel.push(el) return 0
return hel case 'edit':
case 'submit':
}
return 1
/** 0 - 默认, 浏览页面
* default:
return 0
* 1 - 编辑/预览页面 */
}
function pageState() {
if (ps == 0) } else {
if (typeof mw != 'undefined' && typeof mw.config != 'undefined' && typeof mw.config.get == 'function') {
switch (mw.config.get('wgAction')) { return 0
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.colorfontSize = 'crimson1rem'
el.style.bordercolor = '1px solid crimson'
el.style.paddingLeftborder = '.5rem1px solid crimson'
el.style.paddingLeft = '.5rem'
el.title = title
}
}
if (document.readyState == 'loading') {
/**高亮一个元素 */
document.addEventListener('DOMContentLoaded', main)
function highlightEl(el, title = '') {
} else {
el.style.display = 'block'
el.style.fontSize = '1rem'main()
el.style.color = 'crimson'
el.style.border = '1px solid crimson'
el.style.paddingLeft = '.5rem'
el.title = title
}
})()