מדיה ויקי:Gadget-EditReplace.js

הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: ללחוץ על Ctrl-F5.
// סקריפט 24: לקוח מ[[ויקיפדיה:סקריפטים/24]]
// Adds a replace option to toolbar in edit mode
// Created by [[user:Yonidebest]], rewritten by [[User:ערן]]
$ ( function() {
    var $prependTo = $('#editform');
    if ( $prependTo.length === 0 ) {
		return;
	}
	var $statusReplace = $('<span>').html( "מחכה..." ), 
		$replaceFrom = $('<input type="text" tabIndex="21" class="mw-inputbox-input mw-ui-input mw-ui-input-inline">').change(function() { $statusReplace.html( "מחכה..." ); }),
		$replaceTo = $('<input type="text" tabIndex="22" class="mw-inputbox-input mw-ui-input mw-ui-input-inline">').change(function() { $statusReplace.html( "מחכה..." ); }),
		$submitReplace = $('<input type="button" class="mw-ui-button" value="החלפה" />'),
		$checkRegex = $('<input type="checkbox" class="mw-inputbox-element mw-ui-checkbox">'),
		$labelRegex = $('<a href="//he.wikipedia.org/wiki/%D7%91%D7%99%D7%98%D7%95%D7%99_%D7%A8%D7%92%D7%95%D7%9C%D7%A8%D7%99">ביטוי רגולרי</a>'),
		$replaceContainer = $('<div>');
		$replaceContainer.append( [' החלף את: ', $replaceFrom, ' ב ', $replaceTo, $submitReplace, ' | ', $checkRegex, ' החלף כ', $labelRegex, ' | סטטוס: ', $statusReplace]);
	$replaceContainer.hide();
	$prependTo.prepend($replaceContainer);
	$prependTo.prepend($( '<a href="#">[החלפה]</a>' ).click(function(){ $replaceContainer.toggle(); $(this).text(($(this).text() === '[החלפה]'? '[החלפה]' : '[הסתרה]')); }));

	$submitReplace.click(function()	{
		var fromRgx = new RegExp ( ($checkRegex.prop( 'checked' )?  $replaceFrom.val() : mw.RegExp.escape( $replaceFrom.val() )), 'g' );  // as string
		var outputText = $('#wpTextbox1').val().replace ( fromRgx, $replaceTo.val().replace(/\\n/g,"\n") );
	 
		if ( outputText != $('#wpTextbox1').val() )
		{
			$('#wpTextbox1').val( outputText );
			$statusReplace.html( 'בוצע!' ); // 'done!'
		}
		else $statusReplace.html( 'לא נמצאו מופעים.' ); // 'not found.'
	});
} );