J'ai commencé à écrire un script greasemonkey et je suis confronté à des problèmes d'exécution de localstorage dans le script Greasemonkey. La seule façon dont je pourrais comprendre localstorage dans GM est en créant une autre instance de Javascript dans la propriété DOM newElement.innerHTML
, mais le reste de mes variables sont inaccessibles.LocalStorage dans Greasemonkey
Des idées? Voici le fragment de code Greasemonkey sur lequel je travaille.
var testHref = anchorTag[i].href;
var testHTML = anchorTag[i].innerHTML;
var patHref = /item\?id=[0-9]*/g;
var patCaptureId = /item\?id=([0-9]*)/g;
var testId = patCaptureId.exec(testHref);
var patHTML = /[0-9]* comment(|s)/g;
var patHTML2 = /discuss/g;
if(patHref.test(testHref) && !patHTML.test(testHTML) && !patHTML2.test(testHTML))
{
newElement = document.createElement('span');
newElement.style.color = "#FF0000";
newElement.innerHTML = "<a href=\"javascript:localStorage.setItem('one', 'rishabhVerma'); var test = localStorage.getItem('one'); console.log(test);\"> B</a>";
anchorTag[i].parentNode.insertBefore(newElement, anchorTag[i].nextSibling);
}
i++;
Je viens d'utiliser 'unsafeWindow.localStorage' dans un script Greasemonkey (dans Firefox 3.6 sur Mac) et qui semble fonctionner très bien. –
Veuillez noter que l'utilisation de unsafeWindow permettra aux pages Web de détecter et éventuellement de minipuler graeasemonkey, si elle est capable d'intercepter les événements qui se produisent lorsque l'objet unsafeWindow est appelé. Cette information peut être vérifiée [ici] (https://www.safaribooksonline.com/library/view/greasemonkey-hacks/0596101651/ch01s13.html) – CoasterChris