مدیاویکی:Gadget-XTools.js

از اسلامیکال
نسخهٔ تاریخ ‏۱۳ ژانویهٔ ۲۰۲۳، ساعت ۱۳:۵۶ توسط Haghjoo (بحث | مشارکت‌ها) (محلی‌سازی اسکریپت)
پرش به ناوبری پرش به جستجو

نکته: پس از انتشار ممکن است برای دیدن تغییرات نیاز باشد که حافظهٔ نهانی مرورگر خود را پاک کنید.

  • فایرفاکس / سافاری: کلید Shift را نگه دارید و روی دکمهٔ Reload کلیک کنید، یا کلید‌های Ctrl-F5 یا Ctrl-R را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های ⌘-R)
  • گوگل کروم: کلیدهای Ctrl+Shift+R را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های ⌘-Shift-R)
  • اینترنت اکسپلورر/ Edge: کلید Ctrl را نگه‌دارید و روی دکمهٔ Refresh کلیک کنید، یا کلید‌های Ctrl-F5 را با هم فشار دهید
  • اپرا: Ctrl-F5 را بفشارید.
/**
 * XTools ArticleInfo gadget
 * Based on meta.wikimedia.org/wiki/User:Hedonil/XTools
 * Documentation: mediawiki.org/wiki/XTools/ArticleInfo_gadget
 * Released under GPL 3.0+ license
 * For updates, please copy and paste from https://xtools.wmflabs.org/articleinfo-gadget.js
 */
$(function () {
    if (mw.config.get('wgArticleId') === 0 || // no deleted articles, no special pages
            mw.config.get('wgCurRevisionId') !== mw.config.get('wgRevisionId') || // only current revision
            mw.config.get('wgAction') !== 'view') { // only when viewing a page, not editing
        return;
    }

    var $result,
        markup = "<div id='xtools' style='font-size:84%; line-height:1.2em;" +
        "width:auto;'><span id='xtools_result'>.</span></div>";

	$(markup).insertBefore('#contentSub');
    $result = $('#xtools_result');

    var loadinganimation = window.setInterval(function () {
        if ($result.html() === '.&nbsp;&nbsp;') {
            $result.html('&nbsp;.&nbsp;');
        } else if ($result.html() === '&nbsp;.&nbsp;') {
            $result.html('&nbsp;&nbsp;.');
        } else {
            $result.html('.&nbsp;&nbsp;');
        }
    }, 300);

    $.get(
        'https://xtools.wmflabs.org/api/page/articleinfo/' +
        mw.config.get('wgServerName') + '/' +
        mw.config.get('wgPageName').replace(/["?%&+\\]/g, escape) + '?format=html' +
        '&uselang=' + mw.config.get('wgUserLanguage')
    ).done(function (result) {
        $result.html(result);
        clearInterval(loadinganimation);
    });
});