2009-05-13 8 views

Répondre

9

I pense que c'est un problème de sécurité spécifique à Greasemonkey. S'il vous plaît voir 0.7.20080121.0 compatibility. GM n'autorise pas les pages utilisateur à appeler les API GreaseMonkey, et c'est ce que vous faites là (vous enregistrez un gestionnaire de clic avec JQuery exécuté dans le contexte de l'utilisateur). Une solution de contournement est également donnée sur cette page.

+0

Nice. Merci pour cette bonne réponse. +1 –

+0

Umm, je suis confus au sujet de pourquoi ils semblent penser que cette solution de sécurité a aidé n'importe quoi? Fondamentalement n'ont-ils pas simplement remplir un ensemble de sécurité et ensuite dire à tout le monde comment le pirater de toute façon et maintenant nous devons utiliser le code prêtant à confusion pour ce faire. De toute façon, merci j'étais sur le point de demander comment appeler GM_setValue() à partir de la page Web, et cela a surgi, alors m'a sauvé le problème. – Jonathon

+0

Ce que je me demande est si elle est réalisable parce que toutes les valeurs sont prédéfinies, ou cela fonctionnerait: 'unsafeWindow.someObject.registerCallback (fonction (clé, valeur) { setTimeout (function (clé, valeur) { GM_setValue (clé, valeur); },; – Jonathon

0

Vous pouvez utiliser cette solution.

$("a#linkid").click(function() 
{ 
    //setValue 
    setTimeout(GM_setValue("foo", 123),0); 

    //getValue 
    setTimeout(GM_getValue("foo"),0); 
}); 
+0

Bon tour, en fait. Bien que je pense que vous vouliez dire/* setValue */et/* getValue * /, le code que vous avez publié ne fonctionnerait pas réellement. ;) –

2

J'ai eu le même genre de problème ...

solution précédente ne fonctionnait pas pour moi et je trouve une solution comme ça ...

function gmGet(name) { 
    var theValue = GM_getValue(name); 
    return theValue; 
} 

function gmSet(name, valuee) { 
    GM_setValue(name, valuee); 
} 

$("a#linkid").click(function(){ 
    //setValue 
    gmSet("foo", 123); 

    //getValue 
    gmGet("foo"); 
}); 
+0

Parfait, travaillant toujours pour Greasemonkey 1.15 – berbt

Questions connexes