J'essaie de définir l'image d'arrière-plan du corps, mais uniquement là où il utilise la classe banner_url
. Le HTML est le suivant:
<body id="app_body" class="banner_url desktopapp" data-backdrop-limit="1">
Fondamentalement, je voudrais forcer la page à utiliser le CSS suivant à la place:
.banner_url {
background: url('http://www.pxleyes.com/images/contests/kiwis/fullsize/sourceimage.jpg') no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
J'essaie de le faire en utilisant Greasemonkey si cela fait une différence. Est-ce que quelqu'un sait comment je peux m'y prendre? J'ai commencé par ce qui suit, mais je n'ai pas eu beaucoup de chance:
function randomBG(){
document.getElementsByClassName("banner_url").style.backgroundImage="url('http://www.pxleyes.com/images/contests/kiwis/fullsize/sourceimage.jpg')no-repeat center center fixed;";
}
randomBG();
Pour cela, utilisez simplement la cascade CSS. Ajoutez une feuille de style à la page avec GM_addStyle()
.
Remarque:
!important
Pour couvrir certains conflits potentiels.@run-at document-start
(ou utilisez Stylus, voir ci-dessous) pour minimiser le "scintillement" associé au changement de style après le rendu initial.Un script complet:
// ==UserScript==
// @name _Override banner_url styles
// @include http://YOUR_SERVER.COM/YOUR_PATH/*
// @grant GM_addStyle
// @run-at document-start
// ==/UserScript==
GM_addStyle ( `
.banner_url {
background: url('http://www.pxleyes.com/images/contests/kiwis/fullsize/sourceimage.jpg') no-repeat center center fixed !important;
-webkit-background-size: cover !important;
-moz-background-size: cover !important;
-o-background-size: cover !important;
background-size: cover !important;
}
` );
Notez que si vous utilisez Greasemonkey 4 , il a explosé GM_addStyle()
(et beaucoup d'autres choses).
Il est fortement recommandé de passer à Tampermonkey ou Violentmonkey.
En fait, le développeur de contrôle de Greasemonkey en dit autant lui-même .
En attendant, voici une cale pour les masochistes qui persistent avec GM4:
function GM_addStyle (cssStr) {
var D = document;
var newNode = D.createElement ('style');
newNode.textContent = cssStr;
var targ = D.getElementsByTagName ('head')[0] || D.body || D.documentElement;
targ.appendChild (newNode);
}
De plus, pour une manipulation CSS pure, le Élégant Extension du stylet est un meilleur choix que Greasemonkey/Tampermonkey.
Et quelque chose comme ça?
document.getElementsByClassName("banner_url")[0] .style.backgroundImage="url('http://www.pxleyes.com/images/contests/kiwis/fullsize/sourceimage.jpg')";
Mais je dois admettre que je ne suis pas sûr de comprendre la question