打开/关闭搜索
搜索
打开/关闭菜单
通知
打开/关闭个人菜单
查看“MediaWiki:Gadget-recentChanges.js”的源代码
MediaWiki界面页面
查看
阅读
查看源代码
查看历史
associated-pages
系统消息
讨论
更多操作
←
MediaWiki:Gadget-recentChanges.js
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于这些用户组的用户执行:
用户
、
管理员
、interface-editor
此页面为本wiki上的软件提供界面文本,并受到保护以防止滥用。 如欲修改所有wiki的翻译,请访问
translatewiki.net
上的MediaWiki本地化项目。
您无权编辑此JavaScript页面,因为编辑此页面可能会影响所有访问者。
您可以查看和复制此页面的源代码。
//<nowiki> /** * Adds a recent changes widget to the sidebar * * @author JaydenKieran */ 'use strict'; (function($, mw) { var $prependTo var $rcContainer var recentChanges var $recentChangesDOM function init() { $prependTo = $('#p-navigation') var api = new mw.Api() // Build our container $rcContainer = $('<nav>') .addClass('vector-menu vector-menu-portal portal') .attr('id', 'p-RecentChanges') .append( $('<label>').text('最近更改') .addClass('vector-menu-heading') .attr('id', 'p-RecentChanges-label') ) // Add the container to the sidebar $prependTo.after($rcContainer) api.get({ action: "query", list: "recentchanges", rcprop: "title|timestamp|sizes|user", rcnamespace: 0, rclimit: "5", rctype: "edit|new", rcshow: "!bot|!redirect", rctoponly: 1, format: "json" }) .done(function(data) { if (data.query && data.query.recentchanges) { recentChanges = data.query.recentchanges } if (recentChanges.length > 0) { var Time = 1; $recentChangesDOM = recentChanges.map(function(rc) { const timeMatch = rc.timestamp.match(/([0-9]+)-([0-9]+)-([0-9]+)T([0-9]+):([0-9]+):([0-9]+)Z/); var editYear = timeMatch[1]; var editMonth = timeMatch[2]; var editDay = timeMatch[3]; var editHour = timeMatch[4]; var editMinute = timeMatch[5]; var editSecond = timeMatch[6]; var editDate = new Date(editYear, (editMonth-1), editDay, editHour, editMinute, editSecond); var currentDate = new Date(); currentDate = currentDate.getTime() + (currentDate.getTimezoneOffset() * 60000) var diffDate = currentDate - editDate; var diffDays = Math.floor(diffDate/(1000*60*60*24)); var diffHours = Math.floor(diffDate/(1000*60*60)); var diffMinutes = Math.floor(diffDate/(1000*60)); var diffSeconds = Math.floor(diffDate/(1000)); if (diffDays > 0) { Time = diffDays + '天以前 – '; } else if (diffHours > 0) { Time = diffHours + '小时前 – '; } else if (diffMinutes > 0) { Time = diffMinutes + '分钟前 – '; } else if (diffSeconds > 0) { Time = diffSeconds + '秒前 – '; } else { Time = 1 + Math.floor(Math.random() * 10) + '分钟前 – '; } return $('<div>').addClass('rc-sidebar-item').append( $('<a>') .addClass('rc-sidebar-page') .text(' ' + rc.title) .attr('href', new mw.Title(rc.title).getUrl()), $('<p>') .addClass('rc-sidebar-user') .text(Time) .append( $('<a>') .text(rc.user) .attr('href', new mw.Title(rc.user, 2).getUrl()) ) ) }) } else { $recentChangesDOM = $('<p>').text('最近没有变化。') } $rcContainer.append($recentChangesDOM) var $showMore $showMore = $('<div>') .addClass('rc-sidebar-item rc-sidebar-more') .append( $('<a>') .addClass('rc-sidebar-page') .text('查看更多...') .attr('href', '/wiki/Special:最近更改') ) $rcContainer.append($showMore) }) .fail(function(_, data) { alert(data.error.info) }); } mw.loader.using(['mediawiki.util', 'mediawiki.api'], function() { $(init) }) }(jQuery, mediaWiki)); //</nowiki>
返回
MediaWiki:Gadget-recentChanges.js
。