MediaWiki:Common.js:修订间差异
小 增加延时尝试以确保渲染后再移除 |
小 增加 Powered by 图标的切换逻辑 |
||
| 第32行: | 第32行: | ||
// logo 切换逻辑 | // logo 切换逻辑 | ||
$(function () { | $(function () { | ||
function | function updateLogos() { | ||
var $ | var theme = mw.config.get('skin-theme-clientpref'), | ||
$ccIcon = $('#footer-copyrightico img'), | |||
$poweredByIcon = $('#footer-poweredbyico img'); | |||
if (!$ccIcon.length || !$poweredByIcon.length) return; | |||
if (theme === 'dark') { | |||
$ccIcon.attr('src', '/resources/assets/cc-by-nc-sa-dark.svg'); | |||
$poweredByIcon.attr('src', '/resources/assets/poweredby-mediawiki-dark.svg'); | |||
} else if (theme === 'light') { | |||
src | $ccIcon.attr('src', '/resources/assets/cc-by-nc-sa.svg'); | ||
} else if ( | $poweredByIcon.attr('src', '/resources/assets/poweredby-mediawiki.svg'); | ||
// | } else if (theme === 'os') { | ||
if ( | // 自动跟随系统 | ||
src | if (window.matchMedia('(prefers-color-scheme: dark)').matches) { | ||
$ccIcon.attr('src', '/resources/assets/cc-by-nc-sa-dark.svg'); | |||
$poweredByIcon.attr('src', '/resources/assets/poweredby-mediawiki-dark.svg'); | |||
} else { | |||
$ccIcon.attr('src', '/resources/assets/cc-by-nc-sa.svg'); | |||
$poweredByIcon.attr('src', '/resources/assets/poweredby-mediawiki.svg'); | |||
} | } | ||
} | } | ||
} | |||
// 初始化时执行 | |||
updateLogos(); | |||
// | // 如果用户切换主题(无需刷新),监听变化 | ||
mw.hook('user.preferencesSaved').add(updateLogos); | |||
// | // 监听系统颜色方案变化(适配 skin-theme-clientpref-os) | ||
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', updateLogos); | |||
}); | }); | ||