MediaWiki:Common.js
MediaWiki界面页面
更多操作
注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的更改的影响。
- Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5或Ctrl-R(Mac为⌘-R)
- Google Chrome:按Ctrl-Shift-R(Mac为⌘-Shift-R)
- Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5。
/**
* MediaWiki:Common.js
* 任务 6.3:未登录用户访问需要编辑权限的页面时,引导到主站登录
* 将此内容粘贴到 Wiki 站的 MediaWiki:Common.js 页面
*/
( function () {
'use strict';
var MAIN_LOGIN_URL = 'https://dolshipmaker.vip/login.html';
var WIKI_BASE_URL = 'https://wiki.dolshipmaker.vip';
/**
* 检测当前是否为编辑/上传等需要登录的操作,
* 若未登录则重定向到主站登录页。
*/
function checkAuthForEditActions() {
var action = mw.config.get( 'wgAction' );
var isLoggedIn = mw.config.get( 'wgUserId' ) !== 0;
if ( isLoggedIn ) {
return;
}
// 需要登录的操作
var protectedActions = [ 'edit', 'submit', 'upload' ];
if ( protectedActions.indexOf( action ) !== -1 ) {
var returnUrl = encodeURIComponent( window.location.href );
window.location.href = MAIN_LOGIN_URL + '?redirect=' + returnUrl;
}
}
/**
* 为页面内的"编辑"链接添加登录引导
*/
function patchEditLinks() {
var isLoggedIn = mw.config.get( 'wgUserId' ) !== 0;
if ( isLoggedIn ) {
return;
}
$( 'a[href*="action=edit"], a[href*="veaction=edit"]' ).on( 'click', function ( e ) {
e.preventDefault();
var returnUrl = encodeURIComponent( window.location.href );
window.location.href = MAIN_LOGIN_URL + '?redirect=' + returnUrl;
} );
}
mw.loader.using( 'mediawiki.util' ).done( function () {
checkAuthForEditActions();
$( document ).ready( patchEditLinks );
} );
}() );