MediaWiki:Gadget-showNonFreeImages.js
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 ( $, mw ) {
/**
* @return jQuery.Promise<jQuery>
*/
function getNonFreeImages() {
return mw.loader.using( [ 'mediawiki.Title', 'mediawiki.api', 'mediawiki.util' ] ).then( function () {
var api = new mw.Api();
return api.get( {
action: 'query',
titles: mw.config.get( 'wgPageName' ),
generator: 'images',
gimlimit: 500,
prop: 'imageinfo',
iiprop: 'extmetadata',
iiextmetadatafilter: 'NonFree',
} ).then( function ( data ) {
var nonFreeImages;
nonFreeImages = !data.query ? $( [] ) : $.map( data.query.pages, function ( data, id ) {
var title = new mw.Title( data.title ),
metadata = data.imageinfo[0].extmetadata,
isFree = !metadata || !metadata.NonFree,
encTitle = mw.util.rawurlencode( title.getMain() ),
selector = 'img[src^="//upload.wikimedia.org/"][src*="/' + encTitle + '/"],img[src^="//upload.wikimedia.org/"][src$="/' + encTitle + '"]';
return isFree ? null : $( selector ).get();
} );
return $( nonFreeImages );
} );
} );
}
function addBorderToNonFreeImages() {
getNonFreeImages().then( function ( $images ) {
$images.addClass( 'nonFreeImageLink' );
} );
}
mw.hook( 'wikipage.content' ).add( addBorderToNonFreeImages );
} ) ( jQuery, mediaWiki );