Pourquoi n'est pas mon script Greasemonkey la mise à jour?
J'ai un script Greasemonkey pour Firefox. Le script comprend cette méta-bloc et de quelques lignes de code.
Je veux mettre à jour mon script sur le serveur et ensuite mettre à jour automatiquement le navigateur de scripts. Le requireSecureUpdates
option est désactivée.
Ce que je fais mal?
Mon 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==
OriginalL'auteur Remco | 2013-02-26
Vous devez vous connecter pour publier un commentaire.
Deux problèmes:
Actuellement, votre
1.meta.js
est:Note les espaces de tête?
Greasemonkey ne peut pas gérer les espaces pour ses Bloc De Métadonnées en raison d'une limitation de conception1.
L'actuelle version du script semble être à 1,8, mais le méta-fichier a la version 1.7.
~~~~~
Pour les petits scripts, que vous hébergez sur votre propre site web, ne même pas la peine avec le
@updateURL
réglage. C'est là principalement pour économiser de la bande passante, en particulier sur des sites comme userscripts.org.Sans
@updateURL
paramètre, Greasemonkey va simplement utiliser/vérifier tout ce qui est fixé par@downloadURL
. Cela vous permet d'économiser de maintenance supplémentaire de travail (et possible SNAFU est comme celui-ci).Enfin, sur une autre note, ne pas utiliser de
@include *
!À l'aide de
@include *
:1. Plus précisément, ce bit dans le GM fichier source,
parseScript.js
:Je l'ai dit, ne pas utiliser de
@include *
. Que*
fait une grande différence. Oui, c'est bien d'utiliser@match
, ou vous pouvez utiliser quelque chose comme@include http://YOUR_SERVER.COM/YOUR_PATH/*
Oh, vous dites
@include *
LITTÉRALEMENT. Vous avez raison, c'est vraiment de la mauvaise façon.OriginalL'auteur Brock Adams
Si le script fonctionne, alors il n'y a pas probablement un problème avec votre meta bloc, à l'EXCEPTION, vous devez utiliser un valide HTTPS source pour activer la mise à jour.
De référence
http://wiki.greasespot.net/Metadata_Block#.40downloadURL
Require secure updates
option est cochée. (Oui, elle est activée par défaut sur les nouvelles Greasemonkey installations.) Notez également qu'il a été prouvé que le bloc de métadonnées est défectueux dans le*.meta.js
fichier. De sorte qu'une partie de cette réponse est fausse.OriginalL'auteur user1781495