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(或者点击“刷新”按钮)。
/** jQuery cookie **/ mw.loader.using(['jquery.cookie'], function () { if ($.cookie('use-cookie-notify') !== 'showed') { $.toast({ heading:'我们使用cookie', text:'是的,我们的网站使用cookie技术来满足某些功能的使用需求,更多信息请阅读我们的<a href="/wiki/Project:关于/Cookie" style="text-decoration:underline">Cookie使用声明</a>。', icon:'info', hideAfter:false, afterHidden: function(){$.cookie('use-cookie-notify','showed',{expires:60});}, position:'top-left' }); } }); /** 分享按钮 **/ mw.loader.load('/index.php?title=MediaWiki:Share-btn.js&action=raw&ctype=text/javascript'); /** ToastNotify **/ mw.loader.load('https://common.wjghj.cn/js/toast'); /** ToastrNotify **/ // mw.loader.load('https://common.wjghj.cn/js/toastr'); /** 版权提示 **/ mw.loader.load('/index.php?title=MediaWiki:NotifyWhenCopy.js&action=raw&ctype=text/javascript'); /** 外部链接 **/ 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 **/ mw.loader.load('https://www.googletagmanager.com/gtag/js?id=UA-148909815-1'); $(window).load(function(){ 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://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; 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',5000); /** [[T:Notify]] **/ $(function(){ $('.notify').html(function(){ var type = $(this).attr('data-type'), content = $(this).html(); $.toast({ text: content, icon: type }); }).remove(); }); /** 头像系统 **/ $(function() { $('#personal').prepend($('<a>', { href: '/wiki/Special:Uploadavatar', class: 'user-avatar-link', }).append($('<img>', { src: '/extensions/Avatar/avatar.php?user=' + mw.config.get('wgUserName'), class: 'user-avatar' }))); $('.mw-userlink').before(function() { var user = $(this).attr('title'), avatar = $('<img>', { src: '/extensions/Avatar/avatar.php?user=' + user, class: 'user-avatar' }); return avatar; }); }); /** Custom Modal**/ function PopupWindow(content,title,settings) { PopupWindow(content,title,settings); } function closeModal(id){ var target; if (id === undefined) { target = $('.customModal, .customModal-bg'); } else { target = $('.customModal[data-modalid="'+id+'"], .customModal-bg[data-modalid="'+id+'"]'); } target.fadeOut(400); setTimeout(function(){target.remove()},400); } function Modal(content,title,settings) { var closeBtn = '<div class="customModal-close"><img class="close-modal" data-action="closeModal" src="https://wjghj.cn/images/d/d0/Close-btn.png"/></div>', addClass = '', modalId = new Date().getTime(); if (settings !== undefined) { if (settings.closeBtn == false) { closeBtn = ''; } if (settings.addClass !== undefined) { addClass = settings.addClass; } } if (title != '' && title != undefined) { title = '<h2 class="customModal-title">' + title + '</h2>'; } else { title = ''; } if (content == undefined || content == '') { title = '<h2 class="customModal-title" class="error"> Error in Popup Window </h2>'; content = 'No content!'; } $('body').append( '<div class="customModal-bg '+addClass+'" data-modalid="'+ modalId + '" style="z-index:'+ modalId + '"></div>' + '<div class="customModal '+addClass+'" data-modalid="'+ modalId + '" style="z-index:'+ Number(modalId+1) + '">' + '<div class="dragArea" style="width: 100%; text-align: center; color:white; background: gray; height:18px; user-select: none;"><span class="m-icons">drag_handle</span></div>'+ closeBtn+ title + '<div class="customModal-content">' + content + '</div>'+ '</div>' ); // 初始化 $('.customModal[data-modalid="'+modalId+'"], .customModal-bg[data-modalid="'+modalId+'"]').fadeIn(300); $('.customModal[data-modalid="'+modalId+'"]').css({ 'position': 'absolute', 'top': $(window).scrollTop()+120 }); $('.customModal').each(function(){ $this = $(this); $this.find('[data-action="closeModal"]').attr('data-modalid',$this.attr('data-modalid')); }); // Close Modal $('.customModal-bg, .customModal [data-action="closeModal"]').click(function(){closeModal($(this).attr('data-modalid'))}); // Dragable function bindDragging(e) { var element = $(this); var baseX = e.clientX; var baseY = e.clientY; var baseOffsetX = element.parent().offset().left; var baseOffsetY = element.parent().offset().top; $(document).mousemove(function(e) { element.parent().css({ 'left': baseOffsetX + e.clientX - baseX, 'top': baseOffsetY + e.clientY - baseY }); }); $(document).mouseup(function() { $(document).unbind('mousemove'); $(document).unbind('mouseup'); bindDragging(element); }); }; if (settings !== undefined) { if (settings.disableDrag === true) { $('.customModal .dragArea').remove(); } else { $('.customModal .dragArea').mousedown(bindDragging); } if (settings.disableBg !== undefined && settings.disableBg === true) { $('.customModal-bg[data-modalid="'+modalId+'"]').unbind(); } if (settings.removeBg !== undefined && settings.removeBg === true) { $('.customModal-bg[data-modalid="'+modalId+'"]').remove(); } } else { $('.customModal .dragArea').mousedown(bindDragging); } } //ALL CLEAR