User:Shizhao/shorturl.js
注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google Chrome、Firefox、Microsoft Edge及Safari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。
/*
显示在左侧导航条“工具”处,点击后会给出该页面的链短接
参考 https://meta.wikimedia.org/wiki/Wikimedia_URL_Shortener
Author: [[User:Shizhao]], 2019
本页短链接为:https://w.wiki/3eC
*/
var portletLink = mw.util.addPortletLink( 'p-tb', '#', '短链接', 't-shorturl', '显示该页面的短链接');
$( portletLink).click( function (e) {
e.preventDefault();
mw.loader.using( [ 'oojs-ui-windows', 'mediawiki.widgets', 'mediawiki.ForeignApi' ] ).then( function () {
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( { 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: 'error', type: 'error' })
}
});
} );
})