Problème : Conflit jQuery dans Greasemonkey 1.0
Depuis l'avènement de Greasemonkey 1.0, les utilisateurs ont rencontré des conflits entre les bibliothèques jQuery dans les scripts Greasemonkey et sur pages Web. Le nouveau mot-clé @grant, destiné à améliorer la sécurité, est à l'origine de ce problème en raison de problèmes de compatibilité.
Les métadonnées @require existantes, qui permettent l'inclusion de bibliothèques externes comme jQuery, sont désormais confrontées à des limitations dans les scripts Greasemonkey en bac à sable. . Ce conflit entrave la bonne exécution des scripts lorsque la page et le script utilisent jQuery.
Solution : réactivation du bac à sable
Pour résoudre ce problème, les utilisateurs doivent réactiver Greasemonkey sandbox en spécifiant une valeur @grant autre que « aucun ». La modification du bloc de métadonnées du script avec les lignes suivantes restaurera le bac à sable :
// @grant GM_addStyle // @grant GM.getValue // ==/UserScript== /*- The @grant directive is needed to work around a design flaws introduced in GM 1.0 and again in GM 4.0. It restores the sandbox. */
En accordant des privilèges spécifiques, cette approche restaure efficacement le bac à sable et permet aux scripts Greasemonkey de s'exécuter harmonieusement aux côtés des instances jQuery basées sur des pages. De plus, il garantit la compatibilité avec les moteurs de script avancés tels que Tampermonkey et Violentmonkey, qui offrent des fonctionnalités sandbox similaires.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!