手冊:強制預覽
< Snippets
Outdated translations are marked like this.
強制預覽(Force preview) 是一個能使特定的人或用戶組別於保存頁面之前必須至少預覽頁面至少一次的JavaScript。
zh | |
---|---|
Language(s): | JavaScript |
Compatible with: | MediaWiki 1.23++ (Vector) |
欲使用此程式碼,請將其導入至個別維基的 MediaWiki:Common.js 頁面。
注意這個方法並非完全萬無一失。 如果該用戶於瀏覽器關閉JavaScript功能,此強制預覽功能是不會運作的。 如果您想要確保這個方針是強制執行的,那麼您應該查看 扩展:强制预览 。
// 强制预览和填写编辑摘要 - 开始
if (mw.config.get("wgAction") === "edit")
$.when(mw.loader.using("user.options"), $.ready).then(function () {
var $wpSave = $("#wpSave"),
$wpPreview = $("#wpPreview"),
saveVal = $wpSave.val(),
classNames = "oo-ui-widget-enabled oo-ui-flaggedElement-progressive oo-ui-flaggedElement-primary";
if (!mw.user.options.get("forceeditsummary") || mw.user.options.get("previewonfirst"))
mw.loader.using("mediawiki.api", function () {
new mw.Api().saveOptions({forceeditsummary: 1, previewonfirst: 0});
});
if (!$("#wikiPreview,#wikiDiff").is(":visible") && $wpSave.length && $wpPreview.length) {
$wpSave.prop("disabled", true)
.val("Save page (use preview first)")
.parent().removeClass(classNames).addClass("oo-ui-widget-disabled");
$wpPreview.one("click", function (e) { // 再次启用
$wpSave.prop("disabled", false)
.val(saveVal)
.parent().removeClass("oo-ui-widget-disabled").addClass(classNames);
}).parent().addClass(classNames);
}
});
// 强制预览和填写编辑摘要 - 结束
參見
- Manual:常见问题解答
- 扩展:强制预览 - 一個執行相同功能的Media擴展功能,無法透過關閉JavaScript繞過。