MediaWiki:Common.js
来自小鱼君和他的朋友们
注意:在保存以后,您必须绕过浏览器缓存才能看到所作出的改变。
- 谷歌浏览器(Google Chrome)- Windows:按下“Ctrl”键然后按 F5。OS X系统:同时按⌘ Cmd和⇧ Shift键之后按R键。
- Safari - 按住⇧ Shift键然后点击工具栏中重新载入键。
- 火狐(Firefox)- Windows:按住Ctrl键然后按F5。OS X系统:同时按⌘ Cmd和⇧ Shift键之后按R键。
- Internet Explorer:按住Ctrl键然后按F5(或者点击“刷新”按钮)。
/** 外部链接 */ mw.loader.using(['oojs-ui-windows', 'oojs-ui-core'], function() { $('a.external').each(function() { var href = $(this).attr('href'), href1 = href.split('/')[2] if (href1.substring(href1.length - 8) === 'wjghj.cn') return $(this).click(function(e) { e.preventDefault() OO.ui .confirm('你确定要访问这个外部链接吗: ' + href) .done(function(confirmed) { if (confirmed) { location.href = href } }) }) }) }) /** Global script (gtag.js) - Google Analytics **/ !(function() { var $script = $('<script>', { src: 'https://www.googletagmanager.com/gtag/js?id=UA-148909815-1', }) $script.appendTo('body') window.dataLayer = window.dataLayer || [] function gtag() { dataLayer.push(arguments) } gtag('js', new Date()) gtag('config', 'UA-148909815-1') })() /** 方便上传相册缺少的图片 **/ $('.gallery .thumb').prepend(function() { var galleryfile = $(this).text() if (galleryfile == '') { return } else { $(this).html( '<a href="https://common.wjghj.cn/index.php?title=Special:Upload&wpDestFile=' + galleryfile + '" class="new" target="_blank">点击上传<br/>' + galleryfile + '</a>' ) } }) /** In page dialog **/ $(function() { var DialogId, BtnId, NextId, LastId $('.ipd').html(function() { DialogId = this.dataset.dialogid if (DialogId != '1') { $(this).hide() } }) $('.ipd-next-btn').click(function() { BtnId = this.dataset.btnid LastId = this.dataset.lastid if (LastId === 'last') { $('#game-selector').show(300) $(this).css('color', 'green') } else { BtnId = parseInt(BtnId) NextId = ++BtnId $(this).css('color', 'green') $('.ipd[data-dialogid=' + NextId + ']').show(300) } }) }) /** Game saver **/ $('.GameSaver').html(function() { var game, time, user, title, page var wgUserName = mw.config.get('wgUserName') if (wgUserName == '' || wgUserName == null) { unlogin = true } else { user = 'User:' + wgUserName } game = this.dataset.game time = this.dataset.time title = this.dataset.title page = this.dataset.page $(this).html( '<input type=button class="save" value="保存游戏"/> <input type=button class="load" value="读取存档"/>' ) if (unlogin) { $('.GameSaver .load').click(function() { alert('无法读取存档,请登录后再试') }) } else { $('.GameSaver .load').click(function() { location.href = '/wiki/' + user + '/gamesave/' + game }) } $('.GameSaver .save').click(function() { if (unlogin) { $('.GameSaver .save') .unbind() .attr({ value: '存档失败,请登录后再试', disabled: '' }) return } var note = prompt('有什么要备注的吗?', '无') if (note === null || note === 'null') { return } $('.GameSaver .save').attr('value', 'SILI努力帮你存档中…') new mw.Api() .post({ action: 'edit', title: user + '/gamesave/' + game, summary: '/*' + title + ' | ' + time + '*/新增游戏' + game + '存档', appendtext: '\n== ' + title + ' | ' + time + ' ==\n*游戏:[[Game:' + game + ']]\n*时间:' + time + '\n*[[' + page + '|继续游戏]]\n*备注:' + note + '\n\n', token: mw.user.tokens.get('editToken'), }) .done(function() { $('.GameSaver .save') .unbind() .attr({ value: '存档完毕!', disabled: '' }) }) .fail(function() { alert( '啊哦,存档失败了!\n1)请检查您的网络连接?\n2)您是否没有登录?\n3)刷新页面再试?' ) $('.GameSaver .save').attr('value', '重试') }) }) }) /** 顶部公告 **/ function siteNoticeScroll(obj, interval) { $(obj).animate({ height: 'show', paddingTop: 'show', marginTop: 'show', paddingBottom: 'show', marginBottom: 'show', }) setInterval(function() { $(obj) .find('ul:first') .animate( { marginTop: '-25px', }, 300, function() { $(this) .css({ marginTop: '0px', }) .find('li:first') .appendTo(this) } ) }, interval) } siteNoticeScroll('.siteNoticeScroll', 12 * 1000) /** 头像系统 **/ $(function() { $('#personal h2').prepend( $('<a>', { href: '/wiki/Special:Uploadavatar', class: 'user-avatar-link', }) .click(function(e) { href = $(this).attr('href') e.preventDefault() if ($(window).width() > 1100) { location.href = href } }) .append( $('<img>', { src: '/avatar/' + mw.config.get('wgUserName'), class: 'user-avatar', }) ) ) $('.mw-userlink').before(function() { var user = $(this).attr('title'), avatar = $('<img>', { src: '/avatar/' + user, class: 'user-avatar', }) return avatar }) }) /** * Cloudflare Web Analytics */ $('body').append( '<!-- Cloudflare Web Analytics --><script defer src="https://static.cloudflareinsights.com/beacon.min.js" data-cf-beacon=\'{"token": "bcc7ebd8bc4442feb16d89e12674080b"}\'></script><!-- End Cloudflare Web Analytics -->' )