利用者:Yuukin0248/shortUrlMaker.js
表示
お知らせ: 保存した後、ブラウザのキャッシュをクリアしてページを再読み込みする必要があります。
多くの Windows や Linux のブラウザ
- Ctrl を押しながら F5 を押す。
Mac における Safari
Mac における Chrome や Firefox
- ⌘ Cmd と ⇧ Shift を押しながら R を押す。
詳細についてはWikipedia:キャッシュを消すをご覧ください。
/**
* shortUrlMaker.js
* ツールボックスの「短縮URLを生成」をクリックすると閲覧中のページへの短縮URLを生成する
*
* 関連ページ: [[m:Special:Mylanguage/Wikimedia URL Shortener]]
*/
mw.loader.using(['mediawiki.util', 'mediawiki.ForeignApi', 'mediawiki.widgets', 'oojs-ui']).then(() => {
/** @type {JQuery.Promise} API から返ってきたデータ */
let apiData;
/** @function meta.wikimedia.org の API から短縮URLを取得し、apiData に格納 */
const getShortURL = () => {
apiData = new mw.ForeignApi('https://meta.wikimedia.org/w/api.php').post({
action: 'shortenurl',
url: location.href,
});
};
$(mw.util.addPortletLink('p-tb', '', '短縮URLを生成')).click((e) => {
// ページ遷移しない
e.preventDefault();
// API からのデータがない場合は取得する
if (!apiData) getShortURL();
apiData.done((data) => {
// ダイアログを表示
new OO.ui.alert(
new mw.widgets.CopyTextLayout({
copyText: data.shortenurl.shorturl,
label: '短縮URLを生成しました',
align: 'top',
}).$element
);
});
});
});