مدیاویکی:Gadget-Direct-link-to-Commons.js
از پژوهشکده امر به معروف
نسخهٔ تاریخ ۱۱ اسفند ۱۳۹۴، ساعت ۱۳:۱۱ توسط Admin (نظرات | مشارکتها) (صفحهای تازه حاوی «/** * Direct imagelinks to Commons * * Required modules: jquery.mwExtension, mediawiki.util * * @source www.mediawiki.org/wiki/Snippet...» ایجاد کرد)
نکته: پس از ذخیرهکردن ممکن است برای دیدن تغییرات نیاز باشد که حافظهٔ نهانی مرورگر خود را پاک کنید.
- فایرفاکس / سافاری: کلید Shift را نگه دارید و روی دکمهٔ Reload کلیک کنید، یا کلیدهای Ctrl-F5 یا Ctrl-R را با هم فشار دهید (در رایانههای اپل مکینتاش کلیدهای ⌘-R)
- گوگل کروم: کلیدهای Ctrl+Shift+R را با هم فشار دهید (در رایانههای اپل مکینتاش کلیدهای ⌘-Shift-R)
- اینترنت اکسپلورر: کلید Ctrl را نگهدارید و روی دکمهٔ Refresh کلیک کنید، یا کلیدهای Ctrl-F5 را با هم فشار دهید
- اپرا: حافظهٔ نهانی مرورگر را از طریق منوی Tools → Preferences پاک کنید
/**
* Direct imagelinks to Commons
*
* Required modules: jquery.mwExtension, mediawiki.util
*
* @source www.mediawiki.org/wiki/Snippets/Direct_imagelinks_to_Commons
* @author Krinkle
* @version 2014-05-14
*/
if ( mw.config.get( 'wgNamespaceNumber', 0 ) >= 0 ) {
mw.hook( 'wikipage.content' ).add( function ( $content ) {
'use strict';
var
uploadBaseRe = /^\/\/upload\.wikimedia\.org\/wikipedia\/commons/,
localBasePath = new RegExp( '^' + mw.RegExp.escape( mw.util.getUrl( mw.config.get( 'wgFormattedNamespaces' )['6'] + ':' ) ) ),
localBaseScript = new RegExp( '^' + mw.RegExp.escape( mw.util.wikiScript() + '?title=' + mw.util.wikiUrlencode( mw.config.get( 'wgFormattedNamespaces' )['6'] + ':' ) ) ),
commonsBasePath = '//commons.wikimedia.org/wiki/File:',
commonsBaseScript = '//commons.wikimedia.org/w/index.php?title=File:';
$content.find( 'a.image' ).attr( 'href', function ( i, currVal ) {
if ( uploadBaseRe.test( $( this ).find( 'img' ).attr( 'src' ) ) ) {
currVal = currVal
.replace( localBasePath, commonsBasePath )
.replace( localBaseScript, commonsBaseScript );
currVal += (/\?/.test(currVal) ? '&' : '?') + 'uselang='
+ mw.config.get('wgPageContentLanguage');
return currVal;
}
} );
} );
}






