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

از ویکی‌گفتاورد

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

  • فایرفاکس / سافاری: کلید Shift را نگه دارید و روی دکمهٔ Reload کلیک کنید، یا کلید‌های Ctrl-F5 یا Ctrl-R را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های ⌘-R)
  • گوگل کروم: کلیدهای Ctrl+Shift+R را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های ⌘-Shift-R)
  • اینترنت اکسپلورر/ Edge: کلید Ctrl را نگه‌دارید و روی دکمهٔ Refresh کلیک کنید، یا کلید‌های Ctrl-F5 را با هم فشار دهید
  • اپرا: Ctrl-F5 را بفشارید.
/**
 * AncreTitres
 *
 * Cette fonction fournit un lien vers une section de page en cliquant
 * sur le lien [ancre] à droite du titre de section.
 *
 * Auteurs : Pabix, Phe, Bayo -- Correctif apporté par Chphe
 * Date de dernière révision : 26 septembre 2009
 * {{Projet:JavaScript/Script|AncreTitres}}
 */
 
var AncreTitres={
nom_ancre : "[URL]",
nom_lien_interne : "[[پیوند]]",
description : "نمایش یو‌آر‌ال این بخش",
descinterne : "نمایش پیوند ویکی‌پدیایی این بخش",
linkcolor : "",
fontSize : "xx-small",
fontWeight : "normal",
afficheE : true,
afficheI : true,
}
function ancrer(){
        if (!document.getElementById('content')) return;
        var titres = document.getElementsByTagName("span");
        var i = 0;
        var titre_courant;
        if (!AncreTitres.afficheI && !AncreTitres.afficheE) return;
 
        var prefixedServer = mw.config.get('wgServer');
        if (mw.config.get('wgServer').substr(0, 2) == "//") {
          if (document.URL.substr(0, 5) == "http:")
            prefixedServer = "http:" + mw.config.get('wgServer');
          else if (document.URL.substr(0, 6) == "https:")
            prefixedServer = "https:" + mw.config.get('wgServer');
        }
 
        for (i = 0 ; i < titres.length ; i++){
                var titre_courant = titres[i].parentNode;       
                if (!(titres[i].className.match(/mw-headline/gi))) continue;
                var ancre_nom = titres[i].id;
 
                var small;
                var link;
 
                span = document.createElement('span');
                with(span ) {
                        if (AncreTitres.linkcolor != "") style.color=AncreTitres.linkcolor;
                        style.fontSize=AncreTitres.fontSize;
                        style.fontWeight=AncreTitres.fontWeight;
                        className = 'noprint ancretitres';
                }
 
                if (AncreTitres.afficheE) {
                        link = document.createElement('a');
                        with(link) {
                                innerHTML=AncreTitres.nom_ancre;
                                title=AncreTitres.description;
                                setAttribute("ancre", prefixedServer + mw.config.get('wgScript') + "?title="
                                        + mw.config.get('wgPageName') + "#" + ancre_nom
                                );
                                setAttribute("onclick", "window.prompt("
                                        + "'پیوند : ', this.getAttribute('ancre'));"
                                );
                                setAttribute("href", "javascript:;");                                                                           }
                        span.appendChild(document.createTextNode(' '));
                        span.appendChild(link);
                }
                if (AncreTitres.afficheI) {
                        link = document.createElement('a');
                        with(link) {
                                innerHTML=AncreTitres.nom_lien_interne;
                                title=AncreTitres.descinterne;
                                setAttribute("ancre", "[[" + mw.config.get('wgPageName') + "#" + ancre_nom + "]]");
                                setAttribute("onclick", "window.prompt("
                                        + "'پیوند : ', this.getAttribute('ancre'));"
                                );
                                setAttribute("href", "javascript:;");
                        }
                        span.appendChild(document.createTextNode(' '));
                        span.appendChild(link);
                }
                titre_courant.appendChild(span);
        }
}
$(ancrer);