MediaWiki:Gadget-fix-section-hash.js
Uwaga: aby zobaczyć zmiany po opublikowaniu, może zajść potrzeba wyczyszczenia pamięci podręcznej przeglądarki.
- Firefox / Safari: Przytrzymaj Shift podczas klikania Odśwież bieżącą stronę, lub naciśnij klawisze Ctrl+F5, lub Ctrl+R (⌘-R na komputerze Mac)
- Google Chrome: Naciśnij Ctrl-Shift-R (⌘-Shift-R na komputerze Mac)
- Internet Explorer / Edge: Przytrzymaj Ctrl, jednocześnie klikając Odśwież, lub naciśnij klawisze Ctrl+F5
- Opera: Naciśnij klawisze Ctrl+F5.
var config = mw.config.get( [
'wgAction',
'wgPageName',
'wgTitle'
] );
if ( config.wgAction === 'edit' ) {
$.when(
mw.loader.using( 'jquery.textSelection' ),
$.ready
).done( function () {
var m,
escaped = mw.util.escapeRegExp( config.wgTitle ),
re = new RegExp( '^\\/\\* ((?:\\{{2}(?:ja|ko|zh)\\|(' + escaped + ')\\}{2}|(' + escaped + '))) \\((\\{{2}(.+?)(?:\\|[^}]*)?\\}{2})\\) \\*\\/ $' ),
$summary = $( '#wpSummary' ),
summary = $summary.textSelection( 'getContents' );
if ( summary !== '' && ( m = summary.match( re ) ) !== null ) {
summary = summary.replace( m[ 1 ], m[ 2 ] || m[ 3 ] ).replace( m[ 4 ], m[ 5 ] );
$summary.textSelection( 'setContents', summary );
$summary.data( 'origtext', summary ); // mediawiki.action.edit.editWarning.js
}
} );
} else if ( config.wgAction === 'view' ) {
mw.hook( 'postEdit' ).add( function () {
var m, replaced,
escaped = mw.util.escapeRegExp( config.wgPageName ),
re = new RegExp( '^\\#((?:\\{{2}(?:ja|ko|zh)\\|(' + escaped + ')\\}{2}|(' + escaped + ')))_\\((\\{{2}(.+?)(?:\\|[^}]*)?\\}{2})\\)$' ),
decoded = decodeURIComponent( location.hash );
if ( decoded !== '' && ( m = decoded.match( re ) ) !== null ) {
replaced = decoded.replace( m[ 1 ], m[ 2 ] || m[ 3 ] ).replace( m[ 4 ], m[ 5 ] );
history.replaceState( null, '', config.wgPageName + replaced );
location.href = replaced; // 'href' instead of 'hash' because of webkit
}
} );
}