コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

利用者:Rxy/wikidata-description.js

お知らせ: 保存した後、ブラウザのキャッシュをクリアしてページを再読み込みする必要があります。

多くの WindowsLinux のブラウザ

  • Ctrl を押しながら F5 を押す。

Mac における Safari

  • Shift を押しながら、更新ボタン をクリックする。

Mac における ChromeFirefox

  • Cmd Shift を押しながら R を押す。

詳細についてはWikipedia:キャッシュを消すをご覧ください。

/**
 * Author : rxy (https://rxy.jp)
 * Copyright (c) rxy 2017
 * License: MIT
 * License descrition: https://opensource.org/licenses/MIT
 */
mw.loader.using( 'mediawiki.ForeignApi', function() {
	/* Wikidata に紐づくIDを格納 */
	var WikidataQID = mw.config.get( 'wgWikibaseItemId' );
	/* 標準名前空間であり、Wikidata に紐づくID が null でなければ */
	if (
		mw.config.get( 'wgNamespaceNumber' ) === 0
		&& WikidataQID !== null
	){
		/* Wikidata の API を叩いて説明を読みに行く関数を叩く */
		getWikidataDescription(WikidataQID);
	}

	function getWikidataDescription(WikidataQID){
		var api = new mw.ForeignApi( 'https://www.wikidata.org/w/api.php' );
		// https://www.wikidata.org/w/api.php?action=wbgetentities&ids=WikidataQID&props=descriptions&languages=ja
		api.get(
			{
			    action: 'wbgetentities',
			    ids: WikidataQID,
			    props: 'descriptions',
			    languages: 'ja'
			}
		).done(function(data){
			/* Wikidata の紐づく項目に日本語の説明が存在しているのか */
			if(typeof data.entities[WikidataQID].descriptions.ja !== 'undefined'){
				/* 説明を #contentSub の後に引っ付ける */
			    $('#contentSub').append(
			    	$(
			    		'<div>',
			    		{
			    			id: 'EXT_rxy-wikidata-description',
			    			text: 'ウィキデータの説明: '+ data.entities[WikidataQID].descriptions.ja.value
			    		}
			    	)
			    );
		    }
		});
	}
});