Utilisateur:Phe/Extract djvu text.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.
/*
 * Author: w:fr:Phe
 *
 * Extract the text layer of a djvu file.
 */

var extract_text_layer = {
    ws_msg : function (name) {
        var m = self.ws_messages[name];
        return m ? m : name;
    },

    create_script_obj : function (url) {
        var scriptObj = document.createElement("script");
        scriptObj.setAttribute("type", "text/javascript");
        scriptObj.setAttribute("src", url);
        document.body.appendChild(scriptObj);
    },

    callback : function (data) {
        if (data == 'ok') {
            $('#wpRobot-extract-text > a').text('ok')
            $('#wpRobot-extract-text > a').attr('href', '/w/index.php?title=User:' + encodeURIComponent(wgUserName) + '/Text');
        } else {
            $('#wpRobot-extract-text > a').text('error')
        }
    },

    do_extract : function () {
        url = 'http://toolserver.zaniah.virgus/~phe/extract_text_layer.php?cmd=extract&title='
          + wgTitle + '&lang=' + wgContentLanguage + '&user=' + wgUserName
          + '&callback=extract_text_layer.callback';
        extract_text_layer.create_script_obj(url);
    },

    add_extract_button : function () {
        var id_name = self.skin == "vector" ? '#p-namespaces' : '#p-cactions';
        var $a = $(id_name + ' ul');
        if (!$a.length) {
            alert("not found");
            return false;
         }
        $a[0].innerHTML = $a[0].innerHTML  + '<li id="ca-extract">' + '<span id="wpRobot-extract-text"><a href="javascript:extract_text_layer.do_extract();"><span>extract text</span></a></span></li>';
    },

    setup : function () {
        extract_text_layer.add_extract_button();
    },
};

/* FIXME: don't use an hard-coded namespace number */
if (mw.config.get("wgNamespaceNumber") == 112 /*&& mw.config.get("wgAction") == "edit"*/)
    $(document).ready(extract_text_layer.setup);