Jump to content

Manual:プレビューの強制

From mediawiki.org
This page is a translated version of the page Snippets/Force preview and the translation is 91% complete.
Outdated translations are marked like this.
スニペットの使用法
スニペット一覧
ja
言語: JavaScript
互換: MediaWiki 1.23++ (Vector)

強制プレビューとは特定の個人やグループが最低1回はプレビューしないとウィキページを保存できないようにするJavaScriptです。

このコードを使用するには、ご利用のウィキのMediaWiki:Common.js pageに追加します。

この方法は完璧ではない点にご注意ください。 利用者がブラウザでJavaScriptを無効にしてあると、プレビューを強制されることはありません。 この方針を徹底したい場合には、必ずExtension:ForcePreview を参照します。

// 強制プレビューと編集の要約 - 開始
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);
		}
	});
// 強制プレビューと編集の要約 - 終了

関連項目