Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1529 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Problème copier/coller script Greasemonkey

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème copier/coller script Greasemonkey

n°2255819
sayyad
In troll we trust
Posté le 15-04-2015 à 12:43:47  profilanswer
 

Bonjour tout le monde,
 
j'ai chercher en vain une solution à mon problème. N'ayant au final que très peu de compétences en informatique, je viens ici vous exposer mon problème (qui normalement devrait être assez simple à résoudre). Si je poste dans cette section, c'est parce que je crois bien que le langage utilisé dans les scripts Greasemonkey est le java. Si d'aventure un modérateur estime que mon sujet n'a rien à faire dans cette partie du forum, libre à lui de la déplacer.
 
Je veux créer un script greasemonkey pour améliorer l'interface d'un jeu par navigateur (script complètement légal). Un ami m'a donné le code mais je n'arrive pas à copier/coller ce dernier dans le script créé. Un message d'erreur apparait, me mettant en garde contre les copier/coller de ligne de codes qui pourrait me nuire. C'est une protection qui est par défaut sur Firefox. J'ai donc cherché comment enlever cette protection.
 
J'ai donc créé un fichier user.js et j'ai rentré quelques lignes de codes trouvés sur un tuto afin de faire accepter le copier/coller, peine perdue. J'ai lu ici et là que cela pouvait venir d'un problème d'erreur donc j'ai réinitialisé mon firefox, tout réinstallé et réessayé, sans succès encore.
 
J'ai même essayé par deux fois de récrire les lignes de codes directement dans le script mais n'étant pas familiarisé avec aucun langage informatique, j'ai vite confondu les "." et "," par exemple et j'ai perdu un temps fou !
 
Est-ce que quelqu'un pourrait me guider pas à pas dans cette démarche ou mieux vaut-il simplement que j'envoie à une âme charitable les lignes de codes en question afin de créer directement le script ?
 
Je vous souhaite une bonne journée et j'espère avoir des réponses à mon petit problème.
 
EDIT : Je me suis aperçu que le fichier créé "user.js" était en fait "user.js.txt", du coup en le renommant correctement j'obtiens bien un fichier script. Par contre cela ne résoud pas mon problème et je ne peux plus ouvrir mon fichier (erreur : objet attendu ; code : 800A138F ; source : erreur d'exécution Microsoft JScript).
 
Je me permets de vous mettre ici ce que contient mon fichier user.js :
 
ser_pref("capability.policy.policynames", "allowclipboard" );
 
user_pref("capability.policy.allowclipboard.sites", "http://forum.apocalypsis.org" );
 
user_pref("capability.policy.allowclipboard.Clipboard.cutcopy", "allAccess" );
 user_pref("capability.policy.allowclipboard.Clipboard.paste", "allAccess" );
 
Et voici maintenant les lignes de codes que j'aimerais copier/coller dans mon script :
 
    // ==UserScript==
    // @name        Apocalypsis
    // @namespace   Apo
    // @description Booste l'interface d'Apo qui craint
    // @include     http://www.apocalypsis.org/commerce/cb_price
    // @include     http://www.apocalypsis.org/commerce/cb_price?*
    // @version     1
    // @grant GM_xmlhttpRequest
    // ==/UserScript==
    //***********************************************
    // a function that loads jQuery and calls a callback function when jQuery has finished loading
    function addJQuery(callback) {
        var script = document.createElement('script');
        script.setAttribute('src', '//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js');
        script.addEventListener('load', function () {
            var script = document.createElement('script');
            script.textContent = 'window.jQ=jQuery.noConflict(true);(' + callback.toString() + ')();';
            document.body.appendChild(script);
        }, false);
        document.body.appendChild(script);
    }
    // the guts of this userscript
 
    function main() {
        // Note, jQ replaces $ to avoid conflicts.
 
        function parseCB() {
            jQ('.subbox_sub p:nth-of-type(2)') .attr('style', 'color: orange !important');
            jQ('.subbox_sub p:nth-of-type(3)') .attr('style', 'color: yellow !important');
            var location = jQ('.subbox_sub p:nth-of-type(2)') .text() .replace(new RegExp('.*\\(([0-9.]+)\\)[,.].*', 'g'), '$1');
            var taxe = jQ('.subbox_sub p:nth-of-type(3)') .text() .replace(new RegExp('.*([0-9]+).*', 'g'), '$1');
            console.log('location [' + location + ']');
            console.log('Taxe [' + taxe + ']');
            jQ('.subbox_sub .listing') .attr('style', 'color: rose !important');
            var prices = [];
            jQ('.subbox_sub .listing > tbody > tr') .each(function (index) {
                var data = {};
                item = jQ(this) .find('td:nth-of-type(1)') .html();
                price = jQ(this) .find('td:nth-of-type(2)') .text() .replace(/ /g, '');
                tax = jQ(this) .find('td:nth-of-type(3)') .text() .replace(/ /g, '');
                stock = jQ(this) .find('td:nth-of-type(6)') .text() .replace(/ /g, '');
                jQ(this) .find('td:nth-of-type(6)') .html('<span style="font-family: monospace">'+stock+'</span>');
 
                data['item'] = item;
                data['price'] = price;
                data['tax'] = tax;
                data['stock'] = stock;
                data['location'] = location;
                prices.push(data);
            });
            jQ.ajax({
                type: "POST",
                url : "http://127.0.0.1:8101/prices",
                data: JSON.stringify(prices),
                timeout: 5000,
                crossDomain: true
            });
        }
        // Quickway to find out if script is active
 
        jQ('.subbox.footer .subbox_sub a') .attr('style', 'color: red !important');
        jQ('.subbox.footer .subbox_sub a') .text('Apo Engine active');
 
        // hide button
        jQ('form[name=cb_prices] :input[type=submit]') .hide();
        // and replace it by a hidden field
        jQ('form[name=cb_prices]') .append('<input type="hidden" value="Voir" name="e_sub">');
        // remove closed CB
        //jQ(':input[name=z_cb] option[value="3_4_0_1_4"]').remove();
 
        // submit on selection change
        jQ('form[name=cb_prices] :input[name=z_cb]') .on('change', function (event) {
            jQ('form[name=cb_prices]') .submit();
        });
        parseCB();
    }
    // load jQuery and execute the main function
 
    addJQuery(main);
    //***********************************************
 
Voilà, je vous remercie d'avance !  ;)  ;)  ;)


Message édité par sayyad le 15-04-2015 à 12:54:20
mood
Publicité
Posté le 15-04-2015 à 12:43:47  profilanswer
 

n°2255878
sayyad
In troll we trust
Posté le 16-04-2015 à 09:49:17  profilanswer
 

Bon, j'ai réussi à créer mon script en utilisant Chrome !
 
Merci à personne de m'avoir aidé du coup ! :bounce: :bounce: :bounce:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Problème copier/coller script Greasemonkey

 

Sujets relatifs
Lancer script avec redondance [Resolu]Problème de variable
Variable dans script htmprobleme d'affichage d'une seconde fenêtre
probleme de msgbox dans une boucle[Résolu]Tâche planifiée - Script Synology
Probleme amélioration programmeProblème avec le Voice Codec Board Eblocks
problème de syntaxe 
Plus de sujets relatifs à : Problème copier/coller script Greasemonkey


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR