如何使用Greasemonkey删除部分URL?

时间:2015-01-09 20:35:26

标签: url redirect greasemonkey

我试图制作一个Greasemonkey脚本,让我从中解脱出来:

http://redirector/referal_ID:site#link

到此:

link

换句话说,我需要删除我点击的链接的第一部分,绕过重定向页面http://redirector/referal_ID:site#并仅保留链接的#字符后面的内容。

请注意,重定向器经常更改, referal_id 始终是唯一且不同的,site#是所有链接中唯一的常量字符串。

我试图修改各种脚本,但是我的,在null之后,javascript的知识会影响我的所有尝试。

-------------------------------------------- - - - - - - - - - - - - 编辑 - - - - - - - - - - - - - ----------------------------------------------

我需要做的一个例子是修改它:

http://firstfirst.net/identi_ref?q=Waterfox%2033.0.2%20[Mozilla%20Firefox%20de%2064%20bits]&ref=http://www.identi.li/c#https://shared.com/dhq1l9djj1?s=l

进入这个:

https://shared.com/dhq1l9djj1?s=l

我希望脚本工作的网站是http://www.identi.li/

1 个答案:

答案 0 :(得分:1)

最棘手的部分是确保脚本不会在不是重定向器的页面上触发。为此,请使用regex @include

之后,只需提取目标网站并更改location即可。这是一个完整的脚本:

// ==UserScript==
// @name        _Skip redirects
// @include     /site#http/
// @run-at      document-start
// ==/UserScript==

var targetSite = location.href.replace (/^.+?site#(http.+)$/, "$1");

//--- Use assign() for debug or replace() to keep the browser history clean.
location.assign (targetSite);
//location.replace (targetSite);

请注意,@run-at document-start并非绝对必要,但它可以减少重定向脚本的响应时间。