跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
所有类别
站点
所有页面
最近更改
随机页面
交流
论坛
Tools
RA2DIY
搜索
搜索
外观
登录
个人工具
登录
RA2DIY-WIKI 当前处于维护模式:
页面上的内容随时可能发生更改且不会事先告知。
查看“︁MediaWiki:Common.js”︁的源代码
系统消息
讨论
English
阅读
查看源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
查看源代码
查看历史
常规
链入页面
相关更改
页面信息
外观
移至侧栏
隐藏
←
MediaWiki:Common.js
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
此页面为本wiki上的软件提供界面文本,并受到保护以防止滥用。如欲修改所有wiki的翻译,请访问
translatewiki.net
上的MediaWiki本地化项目。
您无权编辑此JavaScript页面,因为编辑此页面可能会影响所有访问者。
您可以查看和复制此页面的源代码。
/* 这里的任何JavaScript将为所有用户在每次页面加载时加载。 */ (function() { // HTML特殊字符转义函数 const escapeHtml = str => String(str).replace(/[&<>"']/g, m => ({ '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }[m])); // INI语法高亮处理器 function highlightINI(preElement) { const rawContent = preElement.textContent; const container = document.createElement('div'); container.className = 'ini-container'; rawContent.split('\n').forEach(line => { line = line.trimRight(); const escapedLine = escapeHtml(line); // 匹配节头 [section] if (/^\[.*?\]/.test(escapedLine)) { const section = escapedLine.match(/^\[(.*?)\]/)[1]; container.innerHTML += ` <div class="ini-section"> <span class="bracket">[</span> ${section} <span class="bracket">]</span> </div>`; // 匹配键值对 key=value } else if (escapedLine.includes('=')) { const [key, ...vals] = escapedLine.split('='); container.innerHTML += ` <div class="ini-line"> <span class="key">${key.trim()}</span> <span class="equals">=</span> <span class="value">${vals.join('=').trim()}</span> </div>`; // 匹配注释 ;comment } else if (escapedLine.startsWith(';')) { container.innerHTML += ` <div class="ini-comment"> ${escapedLine} </div>`; // 处理空行 } else if (line === '') { container.innerHTML += '<div class="ini-empty"></div>'; } }); // 替换原始pre元素 preElement.replaceWith(container); } // 页面加载时自动执行 document.addEventListener('DOMContentLoaded', () => { document.querySelectorAll('pre.ini-highlight').forEach(highlightINI); }); })();
返回
MediaWiki:Common.js
。
搜索
搜索
查看“︁MediaWiki:Common.js”︁的源代码
添加话题