跳转到内容
打开/关闭搜索
搜索
打开/关闭菜单
450
条目
805
文件
22
用户
9103
编辑
Blockland Wiki
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
打开/关闭外观设置菜单
无法加载外观设置。请检查您的网络连接并重试。
重试
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
user-interface-preferences
个人工具
创建账号
登录
查看“︁MediaWiki:Citizen.js”︁的源代码
MediaWiki界面页面
查看
阅读
查看源代码
查看历史
相关页面
系统消息
讨论
更多操作
更多
工具
链入页面
相关更改
页面信息
Cargo数据
←
MediaWiki:Citizen.js
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
此页面为本wiki上的软件提供界面文本,并受到保护以防止滥用。如欲修改所有wiki的翻译,请访问
translatewiki.net
上的MediaWiki本地化项目。
您无权编辑此JavaScript页面,因为编辑此页面可能会影响所有访问者。
您可以查看和复制此页面的源代码。
/* 这里所有JavaScript都会加载给Citizen皮肤的用户 */ /* Append at the END of MediaWiki:Citizen.js. No Common.js or Common.css changes. */ if (mw.config.get('wgPageName') === 'Kuranoka' && mw.config.get('wgNamespaceNumber') === 0 && mw.config.get('wgAction') === 'view') { mw.loader.using('mediawiki.util').then(function () { mw.loader.load(mw.util.getUrl('MediaWiki:KuranokaFX.css', { action: 'raw', ctype: 'text/css' }), 'text/css'); mw.loader.load(mw.util.getUrl('MediaWiki:KuranokaFX.js', { action: 'raw', ctype: 'text/javascript' })); }); } /* ============================================================ MediaWiki:Citizen.js — replace ONLY its current "Kuranoka Page Transition" IIFE with this block. Keep KuranokaFX and Background code unchanged. ============================================================ */ (function () { 'use strict'; let requested = false; function isSpecialPage() { const match = location.pathname.match(/\/wiki\/(Kuranoka|Kuronata)\/?$/); const title = match ? match[1] : new URLSearchParams(location.search).get('title'); return ['Kuranoka', 'Kuronata'].includes(title) && (new URLSearchParams(location.search).get('action') || 'view') === 'view'; } function ensureLoaded() { if (!isSpecialPage() || requested) return; requested = true; const script = mw.config.get('wgScript') || '/index.php'; function raw(title, type) { return script + '?title=' + encodeURIComponent(title) + '&action=raw&ctype=' + encodeURIComponent(type) + '&kkptv=4'; } mw.loader.load(raw('MediaWiki:KuranokaPageTransition.css', 'text/css'), 'text/css'); mw.loader.load(raw('MediaWiki:KuranokaPageTransition.js', 'text/javascript'), 'text/javascript'); } ensureLoaded(); mw.hook('wikipage.content').add(ensureLoaded); window.addEventListener('pageshow', ensureLoaded); })(); /* ========================================== Background · Blockland Wiki Universal Background Configuration 读取 {{Background}} 模板参数 将配置传递给 CSS ========================================== */ (function () { 'use strict'; /* ====================================== 1. 数值校验 ====================================== */ function clamp(value, fallback, min, max) { if ( value === undefined || value === null || String(value).trim() === '' ) { return fallback; } const number = Number(value); if (!Number.isFinite(number)) { return fallback; } return Math.min( max, Math.max(min, number) ); } /* ====================================== 2. 初始化 Background ====================================== */ function initBackground() { // 仅在 Citizen 皮肤下运行 if (!document.body.classList.contains('skin-citizen')) { return; } // 查找模板生成的配置元素 const element = document.querySelector( '#mw-content-text .background-theme' ); // 未调用模板则不执行任何操作 if (!element) { return; } const body = document.body; const config = element.dataset; /* ================================== 3. 透明度 范围:0 - 1 ================================== */ const opacity = clamp( config.bgOpacity, 0.5, 0, 1 ); body.style.setProperty( '--bg-opacity', String(opacity) ); /* ================================== 4. 模糊度 范围:0 - 40px ================================== */ const blur = clamp( config.bgBlur, 6, 0, 40 ); body.style.setProperty( '--bg-blur', blur + 'px' ); /* ================================== 5. 圆角 范围:0 - 40px ================================== */ const radius = clamp( config.bgRadius, 12, 0, 40 ); body.style.setProperty( '--bg-radius', radius + 'px' ); /* ================================== 6. 标题颜色 支持 #RGB 和 #RRGGBB ================================== */ const titleColor = ( config.bgTitle || '#FFFFFF' ).trim(); const validColor = /^#[0-9a-fA-F]{3}(?:[0-9a-fA-F]{3})?$/.test( titleColor ); body.style.setProperty( '--bg-title-color', validColor ? titleColor : '#FFFFFF' ); /* ================================== 7. 背景图片 ================================== */ const background = ( config.bgImage || '' ).trim(); if (background) { try { const url = new URL( background, window.location.href ); // 仅允许本站 HTTPS 图片 if ( url.protocol === 'https:' && url.origin === window.location.origin ) { body.style.setProperty( '--bg-image', 'url("' + url.href + '")' ); } } catch (error) { console.warn( '[Background] Invalid image URL', error ); } } } /* ====================================== 8. MediaWiki 内容加载钩子 ====================================== */ mw.hook('wikipage.content').add( initBackground ); })();
此页面嵌入的页面:
模板:Background
(
查看源代码
)
返回
MediaWiki:Citizen.js
。
查看“︁MediaWiki:Citizen.js”︁的源代码
MediaWiki界面页面