阅读:9943回复:3
[已解决]油猴脚本修改指定的网站不起作用,求解救
我装了Google Translator Tooltip这么个脚本:http://userscripts.org/scripts/show/36898
它的作用域是所有网站,// @include http://* 我只想让它在亚马逊上起作用,所以把这句改成了// @include http://www.amazon.co.jp/* 但是刷新网页之后发现它仍然是全网域生效,重启浏览器,清空缓存历史啥的都做了还是不行 我用的是scriptish0.1.4,换了0.1.5还是失败;禁用scriptish,装油猴0.9.13,只装这一个脚本,失败…… 沿用旧配置,禁用除scriptish之外所有扩展,只启动google Translate tooltip这一个脚本,失败…… 唯独新建配置试了下,搞定。不知那残余的错误到底在哪里了,求解救 |
|
1楼#
发布于:2011-11-17 19:44
Re: 油猴脚本修改指定的网站不起作用,求解救
不过还是有点疑问,如果这样的话,那我要修改网站范围,岂不是改脚本都没用了?……最后是在scriptish的管理界面User Includes添加才起作用。 就是这样的。 这样设计是有原因的,你可以试想想,如果你修改了一个脚本的适用网址范围,然后这个脚本升级了,你安装了,之前的适用网址范围都要重设,是不是很麻烦?再想想,【Scriptish】和【Greasemonkey】是同类软件,前者或后者的用户想转用另一个的时候,发现之前设下的适用网址范围都不能继承,会不会很恼火? Firefox 就是“用户自己的浏览器”,所以“用户设置”要比“脚本初始设置”级别高,Firefox 及扩展的开发思路都是尽可能保留用户设置,并使其不受浏览器和扩展本身的更替变换所影响。 如果你真的非得修改脚本源代码的话,只能绕一下了: 一,修改脚本,例如你需要的“@include”值,并更改“@name”值如加上“XXX修改版”然后另存(文件名任意,但扩展名部分一定要是“.user.js”); 二,卸掉原来的脚本(当然,禁用也行),然后把另存的脚本拖入浏览器窗口,在弹出对话框中安装; 下次再修改重复上述步骤,每次都要改“@name”值(不是麻烦,从版本管理的角度来看是“强制版本管理”)另存。 当然,修改脚本管理扩展的设置文件(如“scriptish-config.json”)也行——这样的话如果脚本在 Firefox “注册表”留下了设置的话则不受影响;上面的方法则不继承那些设置。 最好当然是脚本管理扩展增加“重置脚本设置”功能。 |
|
|
2楼#
发布于:2011-11-17 19:44
Re: 油猴脚本修改指定的网站不起作用,求解救
哭了……解决了,感谢hzh大大提点scriptish-config.xml里面没有这个脚本的任何信息,倒是在scriptish-config.json里有。然后在那里把“http://*”改成了我想要的“http://www.amazon.co.jp/*”,终于搞定…… 不过还是有点疑问,如果这样的话,那我要修改网站范围,岂不是改脚本都没用了?比如前几天google搜索全部自动变成https (现在好像又变回来了……),Search Jump Around这个脚本失效,我就在js文件里添加了https有关的一些网址,仍然不生效,最后是在scriptish的管理界面User Includes添加才起作用。 |
|
3楼#
发布于:2011-11-17 19:44
Re: 油猴脚本修改指定的网站不起作用,求解救
因为安装脚本后,【Scriptish】就接管了在哪些网站起或不起作用的配置了吧……至少【Greasemonkey】是如此的,其在 “{你放配置文件的位置}\profiles\gm_scripts\” 里面有 “config.xml” 文件,存放着这些配置,而不是直接写脚本本身;同时脚本内自带的相应配置代码,也只会在第一次安装脚本的时候被【Greasemonkey】取用,就算将脚本删除了再安装【Greasemonkey】也不会理会。 最佳的解决办法是直接在【Greasemonkey】(你的情况是【Scriptish】)的脚本管理器中修改起作用的网址。 |
|
|