userscript tamper risk pro para net monkey for agregar jquery events callback greasemonkey storage

tamper - Greasemonkey+jQuery: utilizando GM_setValue() dentro de un evento de devolución de llamada



tampermonkey security risk (3)

Estoy tratando de establecer los datos en el almacenamiento a largo plazo en un script de GreaseMonkey, excepto que GM_setValue () parece fallar silenciosamente:

$("a#linkid").click(function() { GM_setValue("foo", 123); // doesn''t work, but does not generate error }); GM_setValue("bar", 123); // works properly, value is set


Creo que este es un problema de seguridad específico de Greasemonkey. Por favor, consulte 0.7.20080121.0 compatibilidad . GM no permite que las páginas de los usuarios llamen a las API de GreaseMonkey, y eso es lo que está haciendo allí (está registrando un manejador de clics con JQuery ejecutándose en el contexto del usuario). Una solución alternativa también se da en esa página.


Puedes usar esta solución.

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


Tuve el mismo tipo de problema ...

La solución anterior no funcionaba para mí y encontré una solución como esta ...

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"); });