微件:SaltInPageCSSLoader:修订间差异

添加709字节 、​ 2023年4月29日 (星期六)
// Edit via Wikiplus
(在页面加载后再执行// Edit via Wikiplus)
(// Edit via Wikiplus)
 
(未显示1个用户的4个中间版本)
第1行: 第1行:
<noinclude>
<noinclude>
<pre><div name="test" class="salt InPageCSSLoader">&lt;pre>
已弃用,请使用 <code><nowiki>{{#inline-css}}</nowiki></code> 解析器函数代替。
<pre><div id="test" class="salt InPageCSSLoader">&lt;pre>
h1{
h1{
     color: royalblue;
     color: royalblue;
第7行: 第8行:
&lt;/pre></div>
&lt;/pre></div>
{{#Widget:SaltInPageCSSLoader}}</pre>
{{#Widget:SaltInPageCSSLoader}}</pre>
<div name="test" class="salt InPageCSSLoader"><pre>
<div id="test" class="salt InPageCSSLoader"><pre>
h1{
h1{
     color: royalblue;
     color: royalblue;
第30行: 第31行:
             // 去除标记
             // 去除标记
             el.classList.remove('InPageCSSLoader')
             el.classList.remove('InPageCSSLoader')
            el.classList.remove('SaltCSS')
             let toolbar = el.querySelector('.toolbar') // Prism处理
             let toolbar = el.querySelector('.toolbar') // Prism处理
             if (toolbar) { toolbar.remove() } // Prism处理
             if (toolbar) { toolbar.remove() } // Prism处理
            // 根据id查重(MW不支持id、class之外其他可以存放字符串的属性)
            if (el.hasAttribute('id')) {
                let id = el.getAttribute('id') || ''
                if (document.head.querySelector( 'style#' + id )) {
                    console.log('[SaltInPageCSSLoader]检测到重复CSS id: ' + id)
                    el.removeAttribute('id')
                    el.style.display = 'none'
                    continue
                }
            }
             // 内容简单处理
             // 内容简单处理
             let text = (el.textContent || '').replace(/^\n+|\n+$/gm, '') // 去除首尾的空行
             let text = (el.textContent || '').replace(/^\n+|\n+$/gm, '') // 去除首尾的空行
             el.textContent = text
             // el.textContent = text
             let handler = () => {
             let handler = () => {
                 // 处理这个元素
                 // 处理这个元素
第55行: 第67行:
                 document.head.appendChild(style)
                 document.head.appendChild(style)
             }
             }
             if (ps == 0) {
             if (ps == 0 || el.classList.contains('nopreview')) {
                 handler()
                 handler()
             } else { // 页面编写者模式
             } else { // 页面编写者模式
                el.textContent = text
                 highlightEl(el, '点击应用CSS(页面编写完毕后CSS将默认启用)')
                 highlightEl(el, '点击应用CSS(页面编写完毕后CSS将默认启用)')
                 el.addEventListener('click', handler)
                 el.addEventListener('click', handler)
维护员、​界面管理员、​巡查员、​监督员、​小部件编辑者
3,469

个编辑