コンテンツにスキップ

利用者:Cpro/suppressEnterAtSummaryBox.js

お知らせ: 保存した後、ブラウザのキャッシュをクリアしてページを再読み込みする必要があります。

多くの WindowsLinux のブラウザ

  • Ctrl を押しながら F5 を押す。

Mac における Safari

  • Shift を押しながら、更新ボタン をクリックする。

Mac における ChromeFirefox

  • Cmd Shift を押しながら R を押す。

詳細についてはWikipedia:キャッシュを消すをご覧ください。

// 要約欄Enter時の挙動
// confirm | ignore | preview (default: confirm)
var suppressEnterAtSummaryBoxBehavior = 'preview';

function suppressEnterAtSummaryBox() {
	if(wgAction != 'edit' && wgAction != 'submit') return;
	
	var is_msie = window.attachEvent && !window.opera;
	var is_submitted_by_enter = false;
	
	function addEvent(element, event_type, event_handler) {
		if(is_msie)
			element.attachEvent('on' + event_type, event_handler);
		else
			element.addEventListener(event_type, event_handler, false);
	}
	
	addEvent(document.getElementById('wpSummary'), 'keydown', function(e) {
		if(is_msie) e = window.event;
		is_submitted_by_enter = e.keyCode == 13; //13: Enter
	});
	addEvent(document.getElementById('editform'), 'submit', function(e) {
		if(!is_submitted_by_enter) return;
		is_submitted_by_enter = false;
		
		if(is_msie) e = window.event;
		
		var is_canceled;
		switch(suppressEnterAtSummaryBoxBehavior) {
			case 'ignore' :
			case 'preview' :
				is_canceled = true;
				break;
			case 'confirm' :
			default:
				is_canceled = !window.confirm("このまま投稿しますか?");
		}
		
		if(is_canceled) {
			if(is_msie) e.returnValue = false;
			else e.preventDefault();
			if(suppressEnterAtSummaryBoxBehavior == 'preview')
				document.getElementById('wpPreview').click();
		}
	});
}
$(suppressEnterAtSummaryBox);