Utilisateur:Phe/DoubleWiki.js

La bibliothèque libre.

Note : après avoir enregistré vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

  • Firefox / Safari : Maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ou Ctrl-R (⌘-R sur un Mac) ;
  • Google Chrome : Appuyez sur Ctrl-Maj-R (⌘-Shift-R sur un Mac) ;
  • Internet Explorer : Maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ;
  • Opera : Allez dans Menu → Settings (Opera → Préférences sur un Mac) et ensuite à Confidentialité & sécurité → Effacer les données d'exploration → Images et fichiers en cache.
/*
 * Liens bilingues
 * Fonctionne avec l'extension DoubleWiki. 
 * Auteur: ThomasV, Phe
 *
 * from fr.wikisource.org
 */

function BilingualLink() 
{
    if( wgNamespaceNumber != 0) return;
    var doc_url = document.URL;
    var url = '';
    // This match also interlanguage-linkzzzz, it's not intended but simpler to do it
    // this way.
    $("li[class*='interlanguage-link']").each(function () {
        var class_list = $(this).attr('class').split(/\s+/);
        for (var i = 0; i < class_list.length; ++i) {
             var class_name = class_list[i];
             if (class_name.substring(0,10) == "interwiki-" ) {
                   var lang = class_name.substring(10, class_name.length);
                   if( doc_url.indexOf('?title=') != -1 ) { 
                       var qm  = doc_url.indexOf('&match=');
                       if( qm != -1 ) url = doc_url.substring(0,qm)+"&match="+lang;
                       else url = doc_url+"&match="+lang;
                   } else {
                       var qm  = doc_url.indexOf('?');
                       if( qm != -1 ) url = doc_url.substring(0,qm)+"?match="+lang;
                       else url = doc_url+"?match="+lang;
                   }
                   $(this).html($(this).html()+"<a href='"+url+"'> &hArr;</a>");
                   break;
             }
        }
    });
}
 
$(BilingualLink);