我试图制作一个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/
答案 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
并非绝对必要,但它可以减少重定向脚本的响应时间。