MediaWiki:Gadget-Force preview.js
跳到导航
跳到搜索
注意:这类代码页面在保存之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。
- 按住
CTRL+SHIFT+DEL 或 ⌘-Shift-R
来清除缓存! - 或尝试在地址栏的地址最后添加代码
?_=1
来访问最新页面。 - 你还可以在设置中勾选小工具在页面右上角添加清除缓存按钮!
(function($, mw) {
if (!mw.config.get('wgPermittedGroups')) mw.config.set('wgPermittedGroups', ['autoconfirmed']); //默认只允许自动确认用户绕过强制预览。
//检测两个数组是否有重复元素
function intersects(arr1, arr2) {
if (!Array.isArray(arr1) || !Array.isArray(arr2)) return false;
for (var i1 = 0, l1 = arr1.length; i1 < l1; i1++) {
if (arr1.indexOf(arr1[i1]) === -1) continue; // 检测是否为空位
for (var i2 = 0, l2 = arr2.length; i2 < l2; i2++) {
if (arr2.indexOf(arr2[i2]) === -1) continue;
if (arr1[i1] === arr2[i2]) return true;
}
}
return false;
}
$(function() {
if (mw.config.get('wgAction') !== 'edit' || intersects(mw.config.get("wgUserGroups"), mw.config.get("wgPermittedGroups"))) return;
var saveButton = $('#wpSave') || $(window.wpSave);
if (!saveButton[0]) return;
saveButton.attr('disabled', 'disabled').val('预览一次后才可保存内容').css('font-weight', 'normal').closest('.oo-ui-widget-enabled').removeClass('oo-ui-widget-enabled oo-ui-flaggedElement-primary');
Object.defineProperty(window, "wpSave", {
get: function() {
return undefined;
},
set: function() {
return true;
},
configurable: false,
enumerable: true,
});
Object.defineProperty(saveButton[0], "disabled", {
get: function() {
return true;
},
set: function() {
return true;
},
configurable: false,
enumerable: true,
});
$('#wpPreview').closest('.oo-ui-buttonElement-framed').addClass('oo-ui-flaggedElement-primary oo-ui-flaggedElement-progressive');
});
})(jQuery, mediaWiki);