Partage
  • Partager sur Facebook
  • Partager sur Twitter

Repérer l'ajout de script asynchrone

un énigme de GM \o/

    21 octobre 2011 à 20:37:10

    Bonjour,

    Je suis en train de développer un script GreaseMonkey pour ce site.
    Mon but actuellement et d'ajouter des éléments à la barre du haut, mais attention : cette barre est chargée deux fois.

    voilà un petit déroulé de ce qui se passe lors du chargement de la page :

    début d'envoi de la page
    affichage du contenu, dont la top-barre
    (fin du chargement à peu près)
    lancement d'un fonction ajoutant du script à la DSL
    ajout des menus supplémentaires à la top-barre
    fin du chargement du script asynchrone
    rechargement de la top-barre avec les données de ce script

    Pour le moment la solution que j'utilise est un retard de 2 secondes, mais je veux faire mieux surtout que le temps varie en fonction de la vitesse de la connexion.
    Voilà, donc mon but est de réussir à détecter l'ajout de ce script asynchrone et son exécution pour ne lancer mes fonctions GM qu'ensuite. Comment faire sans avoir le droit de toucher à ce fichier asynchrone ?


    Pour cela, j'ai déjà repéré le script responsable c'est un certain :
    <script async="" src="http://twinoid.com/bar/view?etunetonnedegets"></script>
    



    J'ai envisagé cette solution, mais c'est un peu comme le retard et je cherche vraiment quelque chose qui fonctionne comme .onload() (mais comment l’appliquer alors ?).

    Ma solution consisterais à tester la présence de ce script asynchrone à intervalle de 50 ms et à ne lancer le script que quand le script est détecté.

    Des idées ?
    • Partager sur Facebook
    • Partager sur Twitter
      21 octobre 2011 à 20:44:55

      Pas seulement le script, mais surtout son résultat, non ?

      Il faut que tu vérifies, avant d'agir, la présence des éléments qui t'importent.
      • Partager sur Facebook
      • Partager sur Twitter
        21 octobre 2011 à 21:17:57

        Oui, mais pour vérifier leur présence je fais quoi ? Un setInterval ?
        • Partager sur Facebook
        • Partager sur Twitter
          21 octobre 2011 à 21:41:37

          Mouais, ou un setTimeout récursif... t'as pas vraiment le choix. :euh:
          • Partager sur Facebook
          • Partager sur Twitter

          Repérer l'ajout de script asynchrone

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown