打开/关闭搜索
搜索
打开/关闭菜单
14
3
270
269
普罗百科
导航
首页
最近更改
需要的页面
所有页面
随机页面
招聘
特殊页面
上传文件
内容
条目
文章
档案馆
引言
关于
关于普罗百科
原则
參與貢獻
赞助
社群
Lemmygrad
Twitter
Reddit
Facebook group
Discord server
Matrix space
通知
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
user-interface-preferences
个人工具
讨论
贡献
登录
请求账号
查看“MediaWiki:Gadget-recentChanges.js”的源代码
MediaWiki界面页面
查看
阅读
查看源代码
查看历史
associated-pages
系统消息
讨论
更多操作
←
MediaWiki:Gadget-recentChanges.js
因为以下原因,您没有权限编辑本页:
此页面为本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( $('<h3>').text('最近更改') ) // 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
。