MediaWiki:Gadget-shortURL.js

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

多くの WindowsLinux のブラウザ

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

Mac における Safari

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

Mac における ChromeFirefox

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

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

/*
このガジェットを使用することで左側のツールメニューに「短縮URL」のリンクが表示されます。「短縮URL」をクリックするとページの短縮URLが表示されます。
短縮URLサービスの詳細:https://meta.wikimedia.org/wiki/Wikimedia_URL_Shortener/ja
著者:Esanders,[[User:Shizhao]], 正體中文化: [[User:Ericliu1912]], 2019, 日本語化: [[User:ネイ]], 2020
表示:「このページの短縮URLは:https://w.wiki/n3M」

関連タスク:[[phab:T222360#5420068]]、[[phab:T267921]]
*/
mw.loader.using(['mediawiki.widgets'], function () {
	var portletLink = mw.util.addPortletLink('p-tb', '#', '短縮URL', 't-shorturl', 'このページの短縮URLを表示');
	
	$(portletLink).click(function(e) {
		e.preventDefault();
		var uri = new mw.Uri();
		var api = new mw.ForeignApi('//meta.wikimedia.org/w/api.php');
		api.post({
			action: 'shortenurl',
			url: uri.toString()
		}).then(function(data) {
			OO.ui.alert(
				new mw.widgets.CopyTextLayout({ title: 'このページの短縮URLは:', copyText: data.shortenurl.shorturl }).$element
			);
		}).fail(function() {
			if ('error' in arguments[1]) {
				mw.notify(arguments[1]['error']['info'], { title: arguments[1]['error']['code'], type: 'error' })
			} else {
				mw.notify(arguments[0], { title: 'エラー', type: 'error' })
			}
		});
	});
});