阅读:3241回复:3
针对脚本开发者: 让GM脚本支持自动更新
参加这个帖子
http://npchen.blogspot.com/2008/12/greasemonkey.html 该链接未经验证: http://npchen.blogspot.com/2008/12/greasemonkey.html 需要翻墙.我先转过来 给GreaseMonkey脚本添加自动更新 该链接未经验证: http://luxury.daili.name/11/browse.php? ... 5odG1s&b=5 上个月我给自己的GreaseMonkey脚本写了一段自动更新的代码,不过我实在受不了在user.js文件之间复制代码片段(一股代码腐败的不祥气息),就算为了自利利人,我把这个封装好的对象放在一个单独js文件里,上传到Google Code 该链接未经验证: http://luxury.daili.name/11/browse.php? ... %3D%3D&b=5 上了,现在如果你写GreaseMonkey脚本,添加自动更新的简洁方案如下: 1. 给你的userscript脚本注释段添加如下代码: // @require http://userscript-autoupdate-hel ... autoupdatehelper.js 该链接未经验证: http://userscript-autoupdate-helper.goo ... ehelper.js // @version <版本号> /* @reason <更新说明> @end*/ (@require后面就是上传到google code里的自动更新用代码,里面定义了一个Updater对象,用法见下。<更新说明>会在客户端脚本发现版本号小于userscript.org服务器端版本号时在弹出对话框中显示) 2. 在脚本开头部分添加类似下面的代码片段: var thisScript = { name: "Delicious自动保存", //脚本名称,请自行修改 id: "35778", //脚本在userscripts.org的id,请自行修改 version:"1.4" // 当前脚本版本号,请自行修改 } var updater = new Updater(thisScript); // 用thisScript对象创建一个更新器对象 updater.check(); //检查是否有更新 3. 可选的功能是另行设置更新频率(默认是10小时check一次), 在updater.check() 之前调用 updater.setHoursToCheck(t) 即可, 如updater.setHoursToCheck(24) ,则至少与上次检查时间相隔24小时才再次检查。 另外,在更新器对象创建之后,用户也可以右键GreaseMonkey图标,从“用户脚本命令”中选择手动更新脚本。 ps. 这个更新器目前是纯中文版本,所以也不写英文的发布声明了。看GreaseMonkey社区已经有自动更新用的代码片段 该链接未经验证: http://luxury.daili.name/11/browse.php? ... M4MDE3&b=5 在流传,不过直接复制粘贴大段代码我总觉得哪里不对 ![]() -- 2008年12月25日 补注: 有人告诉我 “@require http://userscript-autoupdate-hel ... autoupdatehelper.js 该链接未经验证: http://userscript-autoupdate-helper.goo ... ehelper.js 不行啊,直接复制倒可以” 在此补充说明一下:GreaseMonkey 0.8版增加的这个特性 @require在安装脚本时生效,GM会自动下载 url里指定的js文件到安装目录,直接在脚本里手工修改的话就会不行。对作者而言要先写好上传,然后安装,就能确认生效。对脚本作者是麻烦一点,不过对用户是透明的。。。而用@require的好处可以简单的总结为:不仅快是生产力,清晰也是生产力。 作者:NullPointer时间:下午12:07 该链接未经验证: http://luxury.daili.name/11/browse.php? ... 5odG1s&b=5 Labels:GreaseMonkey 该链接未经验证: http://luxury.daili.name/11/browse.php? ... 9ua2V5&b=5 ,programming |
|
|
1楼#
发布于:2009-10-31 15:53
还有一个地址. http://yourui.blogbus.com/logs/45276512.html 也是讨论脚本自动更新的
|
|
|
2楼#
发布于:2009-10-31 15:53
fly2never:还有一个地址. http://yourui.blogbus.com/logs/45276512.html 也是讨论脚本自动更新的回到原帖这个地址访问加密码了,现在改成这个了 http://userscript-updater-generator.appspot.com |
|
3楼#
发布于:2009-10-31 15:53
另一个方法,先安装这个脚本:
http://userscripts.org/scripts/show/26062 然后再安装 userscript.org 上的其他脚本。以后登录userscript.org 时候右上角有提示是否有脚本更新。优点是实现简单,缺点是必须先安装此脚本后再安装其他脚本,否则先安装的其他脚本就无法更新,且只支持发布在userscript.org的脚本更新。 |
|
|