MCBBS Wiki欢迎您共同参与编辑!在参与编辑之前请先阅读Wiki方针。
如果在编辑的过程中遇到了什么问题,可以去讨论板提问。
为了您能够无阻碍地参与编辑 未验证/绑定过邮箱的用户,请尽快绑定/验证。
MCBBS Wiki GitHub群组已上线!
您可以在回声洞中发表吐槽!
服务器状态监控。点击进入
本站由MCBBS用户自行搭建,与MCBBS及东银河系漫游指南(北京)科技有限公司没有从属关系。点此了解 MCBBS Wiki 不是什么>>
微件:SaltInPageCSSLoader:修订间差异
跳到导航
跳到搜索
Salt lovely(留言 | 贡献) 小 (.) |
Salt lovely(留言 | 贡献) 小 (在页面加载后再执行// Edit via Wikiplus) |
||
第23行: | 第23行: | ||
*/ |
*/ |
||
(function () { |
(function () { |
||
⚫ | |||
let ps = pageState() // 获取页面状态 |
let ps = pageState() // 获取页面状态 |
||
let elems = HTMLElemsFliter(Array.from(document.querySelectorAll('.salt.InPageCSSLoader'))) |
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 + '个') } |
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') |
|||
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 |
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) { |
if (text.length < 3 || text.indexOf('{') == -1 || text.indexOf('}') == -1) { |
||
⚫ | |||
highlightEl(el, '检测到不可用的CSS') |
|||
⚫ | |||
return |
return |
||
⚫ | |||
⚫ | |||
let style = document.createElement('style') |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
document.head.appendChild(style) |
|||
} |
} |
||
if (ps == 0) { |
|||
handler() |
|||
} else { // 页面编写者模式 |
|||
⚫ | |||
⚫ | |||
el.addEventListener('click', handler) |
|||
⚫ | |||
⚫ | |||
} |
} |
||
el.style.whiteSpace = 'pre' |
|||
} |
} |
||
⚫ | |||
⚫ | |||
function HTMLElemsFliter(els) { |
|||
let hel = [] |
|||
⚫ | |||
⚫ | |||
if (el instanceof HTMLElement) |
|||
⚫ | |||
return hel |
|||
} |
} |
||
⚫ | |||
⚫ | |||
* |
|||
⚫ | |||
⚫ | |||
function |
function pageState() { |
||
⚫ | |||
let hel = [] |
|||
switch (mw.config.get('wgAction')) { |
|||
case 'view': |
|||
return 0 |
|||
case 'edit': |
|||
case 'submit': |
|||
⚫ | |||
return 1 |
|||
⚫ | |||
default: |
|||
return 0 |
|||
⚫ | |||
} |
|||
⚫ | |||
⚫ | |||
⚫ | |||
return 0 |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
} |
} |
||
} |
} |
||
/**高亮一个元素 */ |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
el.style.paddingLeft = '.5rem' |
|||
⚫ | |||
} |
} |
||
} |
} |
||
if (document.readyState == 'loading') { |
|||
/**高亮一个元素 */ |
|||
document.addEventListener('DOMContentLoaded', main) |
|||
⚫ | |||
⚫ | |||
⚫ | |||
main() |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
} |
} |
||
})() |
})() |
2021年1月10日 (日) 15:43的版本
<div name="test" class="salt InPageCSSLoader"><pre> h1{ color: royalblue; background-color: #f0f6ff; } </pre></div> {{#Widget:SaltInPageCSSLoader}}
h1{ color: royalblue; background-color: #f0f6ff; }
这个页面的标题(<h1>)变成了蓝字蓝底。