greasy - ¿Por qué mi script de Greasemonkey no se está actualizando?
userscripts greasemonkey (2)
Tengo un script de Greasemonkey para Firefox. El script incluye este metabloque y algunas líneas de código.
Quiero actualizar mi script en el servidor y luego actualizar automáticamente los scripts del navegador. La opción requireSecureUpdates
está desactivada.
¿Qué estoy haciendo mal?
Mi 1.meta.js
// ==UserScript==
// @name Ibood autosubmit
// @include https://*.ibood.com/*
// @include http://*.ibood.com/*
// @include *
// @version 1.1
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @grant GM_addStyle
// @downloadURL http://www.tipsvoorbesparen.nl/1.user.js
// @updateURL http://www.tipsvoorbesparen.nl/1.meta.js
// ==/UserScript==
Dos problemas:
Actualmente, su
1.meta.js
es:// ==UserScript== // @name Ibood autosubmit // @include https://*.ibood.com/* // @include http://*.ibood.com/* // @include * // @version 1.7 // @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js // @grant GM_addStyle // @downloadURL http://www.tipsvoorbesparen.nl/1.user.js // @updateURL http://www.tipsvoorbesparen.nl/1.meta.js // ==/UserScript==
Tenga en cuenta los espacios iniciales?
Greasemonkey no puede manejar los espacios iniciales para su Bloque de Metadatos debido a una limitación de diseño 1 .
La versión del script actual parece ser 1.8, pero el metaarchivo tiene la versión 1.7.
~~~~~
Para los scripts pequeños, que usted hospeda en su propio sitio web, ni siquiera se moleste con la configuración @updateURL
. Eso es principalmente para conservar el ancho de banda, especialmente en sitios como userscripts.org .
Sin la configuración de @updateURL
, Greasemonkey solo usará / verificará lo que haya configurado con @downloadURL
. Esto le ahorra trabajo de mantenimiento adicional (y posibles SNAFU como esta).
Finalmente, en una nota no relacionada, ¡no uses @include *
!
Utilizando @include *
:
- Ralentiza tu navegador
- Puede causar efectos secundarios no deseados
- Hace que los usuarios conscientes se nieguen a instalar su script.
1 . Específicamente, este bit en el archivo fuente de GM, parseScript.js
:
var gAllMetaRegexp = new RegExp(
''^// ==UserScript==([//s//S]*?)^// ==/UserScript=='', ''m'');
Si el script está funcionando, entonces no es probable que haya un problema con su metabloque, EXCEPTO, necesita usar una fuente HTTPS válida para habilitar la actualización.
Referencia http://wiki.greasespot.net/Metadata_Block#.40downloadURL