MediaWiki:Gadget-useWD.js

Материал из Универсал-вики
Перейти к навигации Перейти к поиску

Замечание. Возможно, после сохранения вам придётся очистить кэш своего браузера, чтобы увидеть изменения.

  • Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl-F5 или Ctrl-R (⌘-R на Mac)
  • Google Chrome: Нажмите Ctrl-Shift-R (⌘-Shift-R на Mac)
  • Internet Explorer: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl-F5
  • Opera: Перейдите в Menu → Настройки (Opera → Настройки на Mac), а затем Безопасность → Очистить историю посещений → Кэшированные изображения и файлы
function useWD( $content ) {

	if ( mw.config.get( 'wgNamespaceNumber' ) === 0 ) {
		var $items = $content.find( '.wikidata-claim' ),
			props = [];
		if ( $items.length > 0 ) {
			var	itemId = $items.data( 'wikidata-claim-id' ).replace( /(Q\d+)\$.*/gi, '$1' );
			$items.each( function () {
				var $item = $( this ),
					propId = $item.data( 'wikidata-property-id' ).replace( /\[.*$/, '' ),
					type = $item.find( 'a.image' ).length ? 'wikidataItem img' : 'wikidataItem';
				if ( props.indexOf( propId ) < 0 ) {
					props.push( propId );
					var url = '//wikidata.org/wiki/' + itemId + '#' + propId;
					$item.after(
						$( '<div>' ).addClass( type ).append(
							$( '<a>' ).text( '[d]' ).attr( 'href', url )
						)
					);
				}
			});
		}
	}
	
	$content.find( '.wikidata-claim' ).closest( 'td' )
		.on( 'mouseenter', function () {
			$( this ).find( '.wikidataItem, .wikidataItemImg' ).addClass( 'wikidataItemOn' );
		} )
		.on( 'mouseleave', function () {
			$( this ).find( '.wikidataItem, .wikidataItemImg' ).removeClass( 'wikidataItemOn' );
		} );
}

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