3,389
个编辑
MCBBS Wiki欢迎您共同参与编辑!在参与编辑之前请先阅读Wiki方针。
如果在编辑的过程中遇到了什么问题,可以去讨论板提问。
为了您能够无阻碍地参与编辑 未验证/绑定过邮箱的用户,请尽快绑定/验证。
MCBBS Wiki GitHub群组已上线!
您可以在回声洞中发表吐槽!
服务器状态监控。点击进入
本站由MCBBS用户自行搭建,与MCBBS及东银河系漫游指南(北京)科技有限公司没有从属关系。点此了解 MCBBS Wiki 不是什么>>
Salt lovely(留言 | 贡献) 小 (// Edit via Wikiplus) |
Salt lovely(留言 | 贡献) 小无编辑摘要 |
||
| 第16行: | 第16行: | ||
这个页面的标题(<h1>)变成了蓝字蓝底。 | 这个页面的标题(<h1>)变成了蓝字蓝底。 | ||
</noinclude><includeonly><style defer> | </noinclude><includeonly><style defer> | ||
/** | |||
* 搬运须知: 您必须在**显眼处**标识来源“MCBBS Wiki”与作者“Salt_lovely”, **不**接受任何形式的简称或不署名。 | * 搬运须知: 您必须在**显眼处**标识来源“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. | * 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 | * 许可证: CC BY-NC-SA 4.0 | ||
* License: CC BY-NC-SA 4.0 | * License: CC BY-NC-SA 4.0 | ||
*/ | */ | ||
(function () { | |||
let ps = pageState() // 获取页面状态 | |||
let elems = HTMLElemsFliter(Array.from(document.querySelectorAll('.salt.InPageCSSLoader'))) | |||
if (elems.length < 1) { return } else { console.log('[SaltInPageCSSLoader]检测到页内CSS, 共计' + elems.length + '个') } | |||
for (let el of elems) { | |||
// 去除标记 | |||
el.classList.remove('InPageCSSLoader') | |||
// 内容简单处理 | |||
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 | |||
el. | 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) | |||
} | } | ||
/** 0 - 默认, 浏览页面 | 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 (mw && mw.config && 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 | |||
} | |||
})() | |||
</style></includeonly> | </style></includeonly> | ||