MediaWiki:Gadget-copySectionLink.js

A Wikipédiából, a szabad enciklopédiából

Megjegyzés: közzététel után frissítened kell a böngésződ gyorsítótárát, hogy lásd a változásokat.

  • Firefox / Safari: tartsd lenyomva a Shift gombot és kattints a Frissítés gombra a címsorban, vagy használd a Ctrl–F5 vagy Ctrl–R (Macen ⌘–R) billentyűkombinációt
  • Google Chrome: használd a Ctrl–Shift–R (Macen ⌘–Shift–R) billentyűkombinációt
  • Internet Explorer / Edge: tartsd nyomva a Ctrl-t, és kattints a Frissítés gombra, vagy nyomj Ctrl–F5-öt
  • Opera: Nyomj Ctrl–F5-öt
function copySectionLink() {
	if ( $( '#copyAnchor' ).is( ':visible' ) ) {
		return;
	}
	// A span.mw-headline id-ja emberi fogyasztásra alkalmas (pl. #Első_fejezet)
	var headerText = $( this ).siblings( '.mw-headline' ).attr( 'id' ).replace( /_/g, ' ' )
		.replace( /\[/g, '[' ).replace( /\]/g, ']' );
	
	var copyText = mw.config.get( 'wgPageName' ).replace( /_/g, ' ' ) + '#' + headerText;
	
	if ( navigator.clipboard ) {
		navigator.clipboard.writeText( copyText ).then( function () {
			mw.notify( 'Szakaszlink a vágólapra másolva' );
		} );
	} else {
		// Chrome <66, Firefox <63 etc.
		$( this ).parent().append(
			$( "<span id='copyAnchor'>" ).append(
				$( '<input>' ).attr( 'size', copyText.length )
					.val( copyText )
					.click( function () { this.select() } ),
				$( '<input>' ).attr( 'type', 'button' )
					.val( 'OK' )
					.click( function () { $( '#copyAnchor' ).remove() } )
			)
		);
	}
}

function setupCopySectionLink( $content ) {
	$( 'h1,h2,h3,h4,h5,h6', $content ).has( '.mw-headline' ).each( function () {
		$( '<button class="copysectionlink">#</button>' )
			.appendTo( this )
			.attr( 'title', 'Szakaszlink másolása vágólapra' )
			.click( copySectionLink );
	} );
}

mw.hook( 'wikipage.content' ).add( setupCopySectionLink );