IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[Greasemonkey] Modifier juste une ligne à l'intérieur de SCRIPT


Sujet :

JavaScript

  1. #1
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Par défaut [Greasemonkey] Modifier juste une ligne à l'intérieur de SCRIPT
    Bonsoir,

    Cela fait des heures que je cherche un peu partout sur Google une solution à un problème qui parait pourtant simple. Je ne suis pas calé du tout dans le domaine du développement web...

    J'aimerais, en utilisant l'extension Greasemonkey, modifier automatiquement, sur une page web, lors de son chargement, une ligne contenue entre balises SCRIPT (elles mêmes contenues dans la partie HEAD). La ligne doit absolument être modifiée avant que le script soit exécuté.

    La page contient un code du style (je simplifie pour l'exemple) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <script language="JavaScript" type="text/JavaScript">
    var a = fonction_machin() ;
     
    ......
     
    if(a==0)
    {
     
    ......
     
    }
    </script>
    Je veux juste modifier leenMon idée est donc de faire une recherche, grâce à un script Greasemonkey, sur la ligne à modifier, comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function modifier_if()
    {
    	script.innerHTML = script.innerHTML.replace(/if(a==0)/,"if(0)");
    	alert("greasemonkey"); // juste pour vérifier que la ligne du dessus a bien été exécutée...
    }
     
    modifier_if();
    ... mais ça ne fonctionne pas.

    Que me proposez-vous ? Y a-t-il une solution pour un problème aussi simple ?

    Merci.

  2. #2
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    normal
    lorsque le navigateur tombe sur une balise script
    il crée un élément dom de type script
    il charge le code (si attribut src il envois un requête http)
    il passe le code dans le compilateur JS et garde complète l'élément script

    si c'est du code direct (exécutable pas des définition de variables ou fonctions)
    le code est exécuté

    Donc tu peut faire ce que tu veux après de tout façon le code est exécuté

    et heureusement car j'imagine les vieux Hack que cela permettrait de faire
    déjà qu'on peut modifier des fonction et des variables à la volée

    quand je vois les ads et autres js qu'on nous vend pour faire de la pub
    ça c'est amélioré ces dernières années mais je ne compte pas les fois ou on m'a dit je comprends pas mon site ne fonctionne plus regarde à l'appel de la fonction machin j'ai une erreur truc alors que le code de ma fonction est ....
    et de comprends après que le gars à ajouté une pub qui elle aussi défini la même fonction mais elle fait autre chose.

    la situation c'est améliorée mais si un script peut venir faire des hack dans le code d'une autre bonjour les dégâts.
    A+JYT

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Par défaut
    Il n'y a donc aucun moyen de faire ?

    Est-ce qu'il n'y a pas une extension ou un système qui permet de charger la page (sans rien exécuter et sans rien afficher), de modifier la ligne en question, puis ensuite laisser le navigateur interpréter/afficher la page comme il le fait normalement ?

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par sekaijin
    Donc tu peut faire ce que tu veux après de tout façon le code est exécuté

    et heureusement car j'imagine les vieux Hack que cela permettrait de faire
    déjà qu'on peut modifier des fonction et des variables à la volée
    Je ne suis pas certain que tu aies bien lu

    Tu auras beau reposer la question autant de fois que tu veux, je doute que tu obtiennes une réponse différente.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

Discussions similaires

  1. Changer une ligne de fichier avec script
    Par debdarky dans le forum Shell et commandes GNU
    Réponses: 9
    Dernier message: 26/07/2013, 16h35
  2. modifier/supprimer une ligne d'une table.. jsp/oracle
    Par galia dans le forum Balisage (X)HTML et validation W3C
    Réponses: 18
    Dernier message: 05/09/2012, 22h40
  3. [GreaseMonkey] Tester si une fonction existe dans le script
    Par osopardo dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/09/2009, 11h08
  4. Comment ajouter/modifier/supprimer une ligne TadvStringList
    Par whitespirit dans le forum C++Builder
    Réponses: 0
    Dernier message: 28/05/2009, 08h12
  5. [VB.NET] [Forms] Modifier le fond d'une ligne
    Par maitrebn dans le forum Windows Forms
    Réponses: 3
    Dernier message: 12/05/2004, 16h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo