我有一个针对Firefox的Greasemonkey脚本。该脚本包括这个元块和一些代码行。
我想在服务器上更新我的脚本,然后自动更新浏览器的脚本。 requireSecureUpdates
选项已关闭
我做错了什么?
我的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==
答案 0 :(得分:21)
两个问题:
目前,您的1.meta.js
是:
// ==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==
注意前导空格?
由于设计限制 1 ,Greasemonkey无法处理其Metadata Block的前导空格。
当前脚本版本似乎是1.8,但元文件的版本为1.7。
~~~~~
对于您在自己的网站上托管的小脚本,请不要理会@updateURL
设置。这主要是为了节省带宽,尤其是在像userscripts.org这样的网站上。
如果没有@updateURL
设置,Greasemonkey将只使用/检查@downloadURL
设置的内容。这为您节省了额外的维护工作(可能还有像这样的SNAFU)。
最后,在不相关的说明中,请勿使用@include *
!
使用@include *
:
1 。具体来说,GM源文件中的这一位parseScript.js
:
var gAllMetaRegexp = new RegExp(
'^// ==UserScript==([\\s\\S]*?)^// ==/UserScript==', 'm');
答案 1 :(得分:1)
如果脚本正在运行,那么您的元块可能不会出现问题,除非您需要使用有效的 HTTPS 来源来启用更新。