2023年政策修订增补工作正在进行中,欢迎参与!
User:萌娘百科·娜娜奇/common.js
跳转到导航
跳转到搜索
注意:在保存之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。
- Firefox/Safari:按住“Shift”的同时单击“刷新”,或按“Ctrl-F5”或“Ctrl-R”(Mac为“⌘-R”)
- Google Chrome:按“Ctrl-Shift-R”(Mac为“⌘-Shift-R”)
- Internet Explorer:按住“Ctrl”的同时单击“刷新”,或按“Ctrl-F5”
- Opera:在“工具→首选项”中清除缓存
- 如果您已登录但该页面出现未登录状态,请尝试在地址栏的地址最后添加代码
?_=1
来访问最新页面。 - 添加代码后的本页地址如下:
-{R|https://moegirl.icu/User:%E8%90%8C%E5%A8%98%E7%99%BE%E7%A7%91%C2%B7%E5%A8%9C%E5%A8%9C%E5%A5%87/common.js?_=1}-
/** User Gadgets **/
mw.loader.load(
'https://zh.moegirl.org.cn/index.php?title=User:机智的小鱼君/gadget/index.js&action=raw&ctype=text/javascript'
)
function loadScript(src, props) {
src = src || ''
props = props || {}
var s = document.createElement('script')
s.src = src
for (var key in props) {
s[key] = props[key]
}
document.body.appendChild(s)
return new Promise(function (resolve, reject) {
s.onload = resolve
s.onerror = reject
})
}
/** InPageEdit **/
// Global variable
var InPageEdit = window.InPageEdit || {}
// Load plugin
loadScript('http://127.0.0.1:1225/InPageEdit.js?_=' + Date.now()).then(
function () {
console.info('[InPageEdit] Enable dev mode')
},
function () {
console.info('[InPageEdit] Cannot fetch dev server')
mw.loader.load('https://unpkg.com/mediawiki-inpageedit')
}
)
// Preferences
InPageEdit.myPreference = {
editMinor: false,
editSummary: '$section$oldid // InPageEdit-v2',
outSideClose: false,
watchList: true,
plugins: [
'toolbox.js',
'edit-any-page.js',
'code-mirror/cm6.js',
'color-preview.js',
'quick-thank.js',
'wiki-editor.js',
],
codeMirrorTheme: 'mdn-like',
}
;(function (w, mw, ipe) {
var conf = mw.config.get()
if (conf.wgNamespaceNumber !== 14) return
if (conf.wgArticleId === 38120 || conf.wgArticleId === 99958) return
$('.mw-category a').each(function () {
var $this = $(this)
var href = $this.attr('href')
if (!href) return
var title = href.replace('/', '')
var editLink = mw.util.getUrl(title, {
action: 'edit',
})
var $edit = $('<a>', {
href: editLink,
target: '_blank',
text: '编辑',
})
$this.after($('<span>').append(' (', $edit), ')')
mw.hook('InPageEdit').add(function () {
ipe.articleLink($edit)
})
})
})(window, window.mediaWiki, window.InPageEdit)
/** MoeSkin switcher */
$(function () {
window.toggleMoeskin = function (status) {
if (typeof status === 'undefined') {
status = !(mw.user.options.get('skin') === 'moeskin')
} else {
status = !!status
}
var api = new mw.Api({
parameters: {
format: 'json',
formatversion: 2,
},
})
return api
.postWithToken('csrf', {
format: 'json',
action: 'options',
change: 'skin=' + (status ? 'moeskin' : 'vector'),
})
.then(function (data) {
if (data.options === 'success') {
return true
} else {
return false
}
})
}
})
/** More portletLinks */
$(function () {
var conf = mw.config.get()
// prefix index
if (conf.wgIsArticle) {
var prefixIndex = mw.util.addPortletLink(
'p-tb',
mw.util.getUrl(
'Special:PrefixIndex/' + mw.config.get('wgPageName') + '/'
),
'前缀索引',
'前缀索引'
)
prefixIndex.querySelector('a').target = '_blank'
}
// MoeSkin switcher
mw.util
.addPortletLink(
'p-navigation',
'javascript:;',
'Toggle MoeSkin',
'Toggle MoeSkin'
)
.addEventListener('click', function () {
if (this.innerText !== 'Toggle MoeSkin') return
var anchorEl = this.querySelector('a')
anchorEl.innerText = 'Loading...'
window.toggleMoeskin().then(function (res) {
if (res) {
anchorEl.innerText = 'Reloading page...'
location.reload(true)
} else {
anchorEl.innerText = 'Toggle MoeSkin'
}
})
})
})