利用者:Marine-Blue/rollbackDisable.js

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

多くの WindowsLinux のブラウザ

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

Mac における Safari

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

Mac における ChromeFirefox

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

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

/*

////////////////////////////////////////////////////////////////////////////////////////
//
//  rollbackDisable.js
//
//  last update 2021-07-23
//
////////////////////////////////////////////////////////////////////////////////////////

巻き戻しの誤操作を防ぐ(rollbackBot補助用)

*/


jQuery(function ($) {
	// 巻き戻しが使えない場所では作動させない
	if($('span.mw-rollback-link > a').length > 0) {
		// 通常の巻き戻しリンク
		$rbAnchor = $('span.mw-rollback-link > a');
		
		// rollBackBot.js で追加されるBotの巻き戻しリンク
		$rbbAnchor = $('span.mw-rollback-link-bot > a');
		
		// 無効化イベント追加(通常版)
		for(i=0 ; i < $rbAnchor.length; i++) {
			$rbAnchor.eq(i).click(function(){
				return false;
			})
		}
		
		// 無効化イベント追加(ボット版)
		for(i=0 ; i < $rbbAnchor.length; i++) {
			$rbbAnchor.eq(i).click(function(){
				return false;
			})
		}
		
		// ツールボックスの項目一覧を取得
		$toolbox = $('#p-tb > div > ul');
		
		// 新しい項目の作成
		$setLink = $('<li/>')
			// ID
			.attr({
				id: "t-rbdisable"
			})
			// アンカー
			.append(
				$('<a/>')
					.attr({
						href: "#"
					})
					.text('巻き戻しは現在無効')
					
					// クリックしたら巻き戻しを有効化するイベントの設定
					.click(function() {
						// 無効化イベント削除(通常版)
						for(i=0 ; i < $rbAnchor.length; i++) {
							$rbAnchor.eq(i).unbind()
						}
						// 無効化イベント削除(ボット版)
						for(i=0 ; i < $rbbAnchor.length; i++) {
							$rbbAnchor.eq(i).unbind()
						}
						
						// テキストを変更し、ツールボックスにあるリンクを無効化
						$('#t-rbdisable > a')
							.text('巻き戻しは現在有効')
							.click(function() {
								return false;
							})
						
						return false;
					})
			)
		
		$toolbox.append($setLink);
	}
})