javascript - ogario - tampermonkey scripts for chrome
¿Cómo/Dónde almacenar los datos en un script de Tampermonkey de Chrome? (1)
Escribí un script de Greasemonkey / Tampermonkey para Facebook. Necesitaba almacenar datos para recuperarlos más tarde. Para eso utilicé localStorage
.
Eso estaba funcionando bien. Pero noté que, después de unas pocas horas, todos los datos que almacené se eliminaron automáticamente. Probablemente Facebook elimine todos los datos de almacenamiento local.
Ahora, busqué alternativas.
- Cookies : No, esto se eliminará cuando el usuario borre el historial.
- Web SQL : Aparentemente es descartado por w3.org. Así que en un futuro próximo asumo que Chrome podría no estar usando web sql también.
Quiero almacenar los datos en el sistema cliente. ¿Qué opción tengo? ¿Debo usar FileSystem para almacenar datos?
Ya que estás usando Tampermonkey (Chrome) y Greasemonkey (Firefox). GM_setValue()
y usa GM_setValue()
. No puede ser aprobado por Facebook o por cualquier otro sitio web.
Tiene la ventaja de almacenar valores de dominio cruzado, también.
~~~
Tenga en cuenta que el estándar GM_setValue()
es algo problemático en Firefox . Puede hacer que una instancia de secuencia de comandos se bloquee en valores no válidos. Por lo tanto, es mejor usar un serializador, como GM_SuperValue , para almacenar todo menos cadenas. Incluso los enteros de apariencia inocente pueden hacer que el GM_setValue()
predeterminado se bloquee.
Actualmente, solo GM_setValue()
, cookies, localStorage e IndexedDB están disponibles para datos persistentes en ambos navegadores.
IndexedDB probablemente también haría lo que quieres, pero no es tan fácil de usar como GM_setValue()
.
Actualizar:
Hoy en día, no olvides usar:
-
// @grant GM_setValue
y -
// @grant GM_getValue
Además, si utiliza la biblioteca GM_SuperValue, ahora la agregaría con:
// @require http://userscripts-mirror.org/scripts/source/107941.user.js
en el bloque de metadatos. (Dado que userscripts.org ha muerto hace mucho tiempo).