GM_addStyle équivalent dans TamperMonkey
Est-il un TamperMonkey équivalent à GreaseMonkey est GM_addStyle
méthode d'ajout de CSS?
Dans GreaseMonkey, vous pouvez ajouter un tas de propriétés CSS à de multiples éléments comme:
GM_addStyle("body { color: white; background-color: black; } img { border: 0; }");
De faire l'équivalent en TamperMonkey, je suis en train d'avoir à effectuer les opérations suivantes:
function addGlobalStyle(css) {
var head, style;
head = document.getElementsByTagName('head')[0];
if (!head) { return; }
style = document.createElement('style');
style.type = 'text/css';
style.innerHTML = css;
head.appendChild(style);
}
addGlobalStyle('body { color: white; background-color: black; }');
Cela fonctionne, mais est-il intégré dans GM_addStyle
équivalent pour TamperMonkey qui m'évite d'avoir à répéter cette procédure pour chaque script?
OriginalL'auteur arserbin3 | 2014-05-15
Vous devez vous connecter pour publier un commentaire.
Selon la documentation TamperMonkey, il prend en charge
GM_addStyle
directement, comme GreaseMonkey. Vérifier votre include/règles de correspondance sont corrects, puis ajouter cette démo de code en haut de votre script:Je l'ai juste testé sur un nouveau script dans le navigateur Chrome 35 et il a fonctionné comme prévu. Si vous avez d'autres
@grant
à la règle, vous aurez besoin d'ajouter un pour cette fonction, sinon il doit être détectées et automatiquement accordées.GM_
préfixe. Ils doivent travailler à l'amélioration de PageRank de ce que la documentation .. actuellement invisible sur google.com/search?q=tampermonkey+gm_addstyle - Merci!Cela ne semble pas fonctionner, je suis
ERROR: Execution of script failed! GM_addStyle is not defined
des messages dans la console.rappelez-vous que vous devez accorder à la fonction, comme décrit dans la réponse (je ne voudrais pas compter sur détection automatique), et, évidemment, tout code que vous injecter dans le contexte de la page ne sera pas en mesure d'accéder à la GM fonctions. Je viens de tester comme ci-dessus et la fonction s'affiche toujours à être fonctionne bien.
Il n'y a pas d'info à ce sujet dans votre réponse.
N'oubliez pas d'ajouter // @subvention GM_addStyle dans l'en-tête!
OriginalL'auteur lpd
Si quelqu'un est intéressé, j'ai changé le code de sorte que vous n'avez pas à écrire "!important" après chaque règle css. Bien sûr, cela ne fonctionne que si vous utilisez la fonction au lieu de GM_addStyle.
La sortie de cette "
addGlobalStyle('body { color: white; background-color: black; }');
",sera "
body { color: white !important; background-color: black !important; }');
"OriginalL'auteur PaarCrafter