asdfcc
火狐狸
火狐狸
  • UID31778
  • 注册日期2010-01-25
  • 最后登录2020-04-20
  • 发帖数181
  • 经验45枚
  • 威望0点
  • 贡献值0点
  • 好评度1点
阅读:8987回复:3

[已解决]油猴脚本修改指定的网站不起作用,求解救

楼主#
更多 发布于:2011-11-17 19:44
我装了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这一个脚本,失败……

唯独新建配置试了下,搞定。不知那残余的错误到底在哪里了,求解救
hzhbest
千年狐狸
千年狐狸
  • UID22640
  • 注册日期2008-01-15
  • 最后登录2017-04-06
  • 发帖数1763
  • 经验476枚
  • 威望3点
  • 贡献值414点
  • 好评度89点
  • 社区居民
  • 忠实会员
1楼#
发布于:2011-11-17 19:44
Re: 油猴脚本修改指定的网站不起作用,求解救
因为安装脚本后,【Scriptish】就接管了在哪些网站起或不起作用的配置了吧……
至少【Greasemonkey】是如此的,其在 “{你放配置文件的位置}\profiles\gm_scripts\” 里面有 “config.xml” 文件,存放着这些配置,而不是直接写脚本本身;同时脚本内自带的相应配置代码,也只会在第一次安装脚本的时候被【Greasemonkey】取用,就算将脚本删除了再安装【Greasemonkey】也不会理会。
最佳的解决办法是直接在【Greasemonkey】(你的情况是【Scriptish】)的脚本管理器中修改起作用的网址。
asdfcc
火狐狸
火狐狸
  • UID31778
  • 注册日期2010-01-25
  • 最后登录2020-04-20
  • 发帖数181
  • 经验45枚
  • 威望0点
  • 贡献值0点
  • 好评度1点
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添加才起作用。
hzhbest
千年狐狸
千年狐狸
  • UID22640
  • 注册日期2008-01-15
  • 最后登录2017-04-06
  • 发帖数1763
  • 经验476枚
  • 威望3点
  • 贡献值414点
  • 好评度89点
  • 社区居民
  • 忠实会员
3楼#
发布于:2011-11-17 19:44
Re: 油猴脚本修改指定的网站不起作用,求解救
不过还是有点疑问,如果这样的话,那我要修改网站范围,岂不是改脚本都没用了?……最后是在scriptish的管理界面User Includes添加才起作用。

就是这样的。
这样设计是有原因的,你可以试想想,如果你修改了一个脚本的适用网址范围,然后这个脚本升级了,你安装了,之前的适用网址范围都要重设,是不是很麻烦?再想想,【Scriptish】和【Greasemonkey】是同类软件,前者或后者的用户想转用另一个的时候,发现之前设下的适用网址范围都不能继承,会不会很恼火?
Firefox 就是“用户自己的浏览器”,所以“用户设置”要比“脚本初始设置”级别高,Firefox 及扩展的开发思路都是尽可能保留用户设置,并使其不受浏览器和扩展本身的更替变换所影响。
如果你真的非得修改脚本源代码的话,只能绕一下了:
一,修改脚本,例如你需要的“@include”值,并更改“@name”值如加上“XXX修改版”然后另存(文件名任意,但扩展名部分一定要是“.user.js”);
二,卸掉原来的脚本(当然,禁用也行),然后把另存的脚本拖入浏览器窗口,在弹出对话框中安装;
下次再修改重复上述步骤,每次都要改“@name”值(不是麻烦,从版本管理的角度来看是“强制版本管理”)另存。
当然,修改脚本管理扩展的设置文件(如“scriptish-config.json”)也行——这样的话如果脚本在 Firefox “注册表”留下了设置的话则不受影响;上面的方法则不继承那些设置。
最好当然是脚本管理扩展增加“重置脚本设置”功能。
游客

返回顶部