本站不兼容 8 以前的版本的 Interner Explorer 浏览器(或基于这些版本的 IE 的其他浏览器),并且页面样式不完全兼容 IE 8,我们建议你升级至 IE 9 或改用其他非 IE 浏览器

Mozest™

  • 正在加载用户菜单…

开放、分享、互助

转播到腾讯微博
返回列表 回复 发帖

[修改发布] Redirector修改版

最近讨论google重定向的问题http://g.mozest.com/viewthread.php?tid=40041&highlight=

我觉的,用greasemonkey脚本阻止重定向不是很好,最主要是因为google搜索页面版本很多,页面加载方式复杂,经常改版.脚本容易失效.

如果要用重定向的方式把google的链接重定向回到原网址.主要有三种方式.

1.greasemonkey脚本(页面开始加载的时候)

location = decodeURIComponent(location.replace(..))

这种方式最快也是在页面开始加载的时候,大家肯定是不会选择的.google本来就是这样重定向到原网址的.

2.mason (请求发送的时候)

mason的重定向设置界面只能填写具体的重定向网址.这是最主要的,大部分用户不会写脚本来动态的处理重定向的目标网址.我也不会.

还有一个,从表现上说.mason的重定向原理是在当前页面的请求发送之后,紧接着把请求的网址改为用户设定的网址再次请求.也就是说,发送了两个请求.第一次请求返回的数据回来以后也就扔了.当然,用户基本是看不出来的.

3.redirector(检查请求的时候)
redirector可以检查每个请求的url是否符合自己重定向的每条规则,如果符合,且不是死循环.它将禁止该请求.重新打开重定向规则里规定的目标网址.因为不知道链接打开的方式,是新标签还是当前页面.所以redirector的作者都是在当前页面处理的.如https://g.mozest.com/thread-39723-1-1 ffpro同学说的,redirector改变了链接打开的方式.
所以说从时间上来说,redirector的重定向是最早的,肯定也是最快的.但是它只能阻止某个请求,然后作出自己想做的行为.假如想重定向一张页面里内嵌的图片.他只能阻止这张图片的请求,没办法更改这张图片的请求地址.因此,redirector只能重定向网页,不能重定向内嵌元素.而mason可以.

用redirector来处理google链接重定向的问题的话,规则是这样的.



设置页面在新标签打开是我修改原版的一个地方.

另外一个是,重定向到可以是一个匿名函数,也就是作为replace函数的第二个参数,可以更加自由的设定重定向的网址.例如假如作者没有提供unescape的选项,上面的规则还可以这么写.



不过基本上,匿名函数的方式是用不到的
附件: 您所在的用户组无法下载或查看附件
本帖最后由 ziyunfei 于 2011-11-18 21:05 编辑

修改版  

阻止google搜索重定向Rediretor规则    ,导入即可
附件: 您所在的用户组无法下载或查看附件
1.greasemonkey脚本(页面开始加载的时候)
location = decodeURIComponent(location.replace(..))
这种方式最快也是在页面开始加载的时候,大家肯定是不会选择的.google本来就是这样重定向到原网址的.
这个为什么不愿意呢?

另外,我觉得最大mason缺点是地址栏重定向很慢(页面元素则完全感觉不出来),写的话很简单,同1L的也差不多一样的。
function _masonRedirect(spec){
return 重定向的uri;}
如果mason能修正打开速度的问题,而又能直接在界面上写规则,不用另外脚本的话就完美了。楼主不去修改下么
我的回帖都是滥竽充数的,有其它人回帖时一般可以无视我哈~~
请问,如果要把某个网站的网址都(重定向)在网页最后加上特定字符,用mason应该怎么写呢?
  比如
夺目之美:“世界新七大自然奇观” - 道听图说 - 凤凰论坛 - http://bbs.ifeng.com/viewthread.php?tid=11186915

这个网页打开后是图片,有3中模式,第3种是帖子模式。
点击帖子模式后,会在最后加上“&mod=_t”

也就是http://bbs.ifeng.com/viewthread.php?tid=11186915&mod=_t

http://bbs.ifeng.com/viewthread.php?tid=11186915

http://bbs.ifeng.com/viewthread.php?tid=11186915&mod=_t

用mason,应该怎么写呢?
本帖最后由 dindog 于 2011-11-14 22:10 编辑

4# royallin
这种地址栏跳转mason效果最差。也最麻烦
1. gm,很简单,也快
  1. location = loction.href+'&mod=_t';
复制代码
2. redirector
没用过,应该也很简单
3.mason,还是要脚本。修改匹配URL,还要改
  1. function _masonRedirect(spec){
  2. return spec+'&mod=_t';}
复制代码
PS.记忆中紫云飞的mason修改版重定向支持反向引用的,可以$0+'&mod=_t',不肯定
我的回帖都是滥竽充数的,有其它人回帖时一般可以无视我哈~~
请问,如果要把某个网站的网址都(重定向)在网页最后加上特定字符,用mason应该怎么写呢?
  比如
夺目之美:“世界新七大自然奇观” - 道听图说 - 凤凰论坛 - http://bbs.ifeng.com/viewthread.php?tid=11186915
...
royallin 发表于 2011-11-14 21:31
mason.js 内容
  1. <parts>
  2. part1=.@@@L3
  3. </parts>
  4. <part1>
  5. function _masonRedirect(spec){
  6.     return spec + "&mod=_t";
  7. }
  8. </part1>
复制代码
附件: 您所在的用户组无法下载或查看附件
这个为什么不愿意呢?

另外,我觉得最大mason缺点是地址栏重定向很慢(页面元素则完全感觉不出来),写的话很简单,同1L的也差不多一样的。
function _masonRedirect(spec){
return 重定向的uri;}
如果mason能修正 ...
dindog 发表于 2011-11-14 21:02
就像一楼说的,是机制问题,不好改
这个为什么不愿意呢?

另外,我觉得最大mason缺点是地址栏重定向很慢(页面元素则完全感觉不出来),写的话很简单,同1L的也差不多一样的。
function _masonRedirect(spec){
return 重定向的uri;}
如果mason能修正 ...
dindog 发表于 2011-11-14 21:02
如果mason能修正打开速度的问题,而又能直接在界面上写规则,不用另外脚本的话就完美了。
-----------------------
强烈同意这点!短小代码也要弄个脚本,太麻烦了。
tiramn上次在线貌似是年初的事了,估计是难指望了!
紫云飞,您改善过mason,应该对mason较熟了,
真切盼望能改进下mason,那是福音啊~~~
tiramn忘掉了密码……
tiramn忘掉了密码……
gsky916 发表于 2011-11-15 13:11
厉害
tiramn忘掉了密码……
gsky916 发表于 2011-11-15 13:11
找个切实可信的证据,比如他的邮箱博客之类的,让管理员重置密码吧
5# dindog
6# ziyunfei
   感谢!明白了
tiramn忘掉了密码……
gsky916 发表于 2011-11-15 13:11
如果mason能修正打开速度的问题,而又能直接在界面上写规则,不用另外脚本的话就完美了。
-----------------------
强烈同意这点!短小代码也要弄个脚本,太麻烦了。
tiramn上次在线貌似是年初的事了,估计是难指望 ...
dawlen 发表于 2011-11-15 11:35
找到 fctlite.js

查找
  1. newURL = pa3;
复制代码
在下面加一行
  1. /^http:\/\/function\s*\(/.test(newURL)&&(newURL=eval("newURL="+newURL .replace(/^http:../,""))(aSubject.URI.spec));
复制代码
然后就可以这样了

附件: 您所在的用户组无法下载或查看附件
1

评分次数

  • dindog

本帖最后由 dindog 于 2011-11-16 00:06 编辑
楼主果然还是改了!

想想,原来是能重定向到file://协议的,是不是应该补一个或
file://也没问题的,测试一张图异常喜感:

我的回帖都是滥竽充数的,有其它人回帖时一般可以无视我哈~~
试试看!
的确greasemonkey的大多失败了
找到 fctlite.js

查找newURL = pa3;

在下面加一行/^http:\/\/function\s*\(/.test(newURL)&&(newURL=eval("newURL="+newURL .replace(/^http:../,""))(aSubject.URI.spec));

然后就可以这样了

26238 ...
ziyunfei 发表于 2011-11-15 21:41
太好了,多谢

这贴对重定向整理的很好,建议加精
找到 fctlite.js

查找newURL = pa3;

在下面加一行/^http:\/\/function\s*\(/.test(newURL)&&(newURL=eval("newURL="+newURL .replace(/^http:../,""))(aSubject.URI.spec));

然后就可以这样了

26238 ...

ziyunfei 发表于 2011-11-15 21:41
请问这个是什么版本?图的最下面可以选择正则和通配符的?
楼主果然还是改了!想想,原来是能重定向到file://协议的,是不是应该补一个或 file://也没问题的,测试一张图异常喜感:

dindog 发表于 2011-11-15 22:21
图破了
本帖最后由 dindog 于 2011-11-16 13:47 编辑

18# royallin
没破啊。不过那图没关系的。

发现tiramn已经考虑到反盗链(自定义)是空时,是不发送referer的。不过另外一个界面确认可能忘了,注释掉就可以。
\mason\chrome\content\fctlite-detailWindow.js
147-150行
  1.                 //if (fcd == "R2" && zparam==""){
  2.                 //alert(masonUtils.masonString.GetStringFromName("NoConfigErrorR2"));
  3.                 //        return false;
  4.                 //        }
复制代码
我的回帖都是滥竽充数的,有其它人回帖时一般可以无视我哈~~
18# royallin
没破啊。不过那图没关系的。

发现tiramn已经考虑到反盗链(自定义)是空时,是不发送referer的。不过另外一个界面确认可能忘了,注释掉就可以。
\mason\chrome\content\fctlite-detailWindow.js
147 ...
dindog 发表于 2011-11-16 13:44
我这里看是破了呢。图片地址
  1. http://i.imgur.com/IkKPm.jpg
复制代码
打开是404。
  点击图片连接是163的体育。
找个切实可信的证据,比如他的邮箱博客之类的,让管理员重置密码吧
asdfcc 发表于 2011-11-15 14:20
sigh,好像不是第一次忘密码来了。
他发mason那个帖子的用户名是tiramn2(非昵称),你知道什么原因的,因为之前已经有一个……

说不好什么时候可能又想起来了,实在不行就去注册一个tiramn3,新注册一个方便的,还是不要去麻烦管理员了……
修改版新标签页要是能前台打开就好了
修改版新标签页要是能前台打开就好了
osnxy 发表于 2011-11-18 19:35
这个可以改,不过就得用下拉列表了.前台后台都放进选项里
修改版新标签页要是能前台打开就好了
osnxy 发表于 2011-11-18 19:35
可以选择前后台了
24# ziyunfei

太好了,谢谢!
我竟然刚刚看到这贴!
感谢紫云飞对Mason做的修改,我这里也成功了,简单重定向不再需要脚本了。
请大家帮忙,把本站加入ABP白名单
本帖最后由 iwo0 于 2012-1-4 22:41 编辑
我竟然刚刚看到这贴!
感谢紫云飞对Mason做的修改,我这里也成功了,简单重定向不再需要脚本了。
congxz6688 发表于 2012-1-1 10:20
大侠们为虾米不更新AMO安装文件

dindog请教下
怎么是把网易那个图重定向到这里的


我试了下把以前的本论坛的老书签
about:config 详解救活一下,
  1. http://wiki.sociz.com/
复制代码
  1. http://oldwiki.mozest.com/相应网页
复制代码
可是只能到
  1. http://oldwiki.mozest.com/首页
复制代码
ps: yes!! 已解决
装了修改版后好像不支持原版的rdx文件
而且原版升级了