您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Converts links containing redirects to their resolved version.
当前为
- // ==UserScript==
- // @name RedRem
- // @namespace http://www.twprogrammers.com/
- // @version 0.7
- // @description Converts links containing redirects to their resolved version.
- // @author Patrick Thomas (Timberwolf)
- // @grant none
- // @include http://www.free-tv-video-online.info/*
- // @include http*://www.webmasterworld.com/*
- // @include http://www.researchgate.net/*
- // @exclude http://www.free-tv-video-online.info/player/*
- // ==/UserScript==
- var orig_page_links = document.links;
- var page_links = new Array(orig_page_links.length);
- var newlinkhref, pglh, query, queryEncoded, tArray, tkvArray, i;
- function anchorMatch(a)
- {
- for(; a; a = a.parentNode) if(a.localName == 'a') return a;
- return null;
- }
- function getQueryParams(qs)
- {
- query = {};
- qs = qs.substring(qs.indexOf('?')+1);
- if(getContains("&", qs))
- {
- tArray = qs.split("&");
- for(i = 0; i < tArray.length; i++)
- {
- tkvArray = tArray[i].split("=");
- query[tkvArray[0]] = decodeURIComponent(tkvArray[1]);
- }
- }
- else
- {
- tkvArray = qs.split("=");
- query[tkvArray[0]] = decodeURIComponent(tkvArray[1]);
- }
- return query;
- }
- function getQueryParamsEncoded(qs)
- {
- queryEncoded = {};
- qs = qs.substring(qs.indexOf('?')+1);
- if(getContains("&", qs))
- {
- tArray = qs.split("&");
- for(i = 0; i < tArray.length; i++)
- {
- tkvArray = tArray[i].split("=");
- queryEncoded[tkvArray[0]] = tkvArray[1];
- }
- }
- else
- {
- tkvArray = qs.split("=");
- queryEncoded[tkvArray[0]] = tkvArray[1];
- }
- return queryEncoded;
- }
- function getContains(needle, haystack)
- {
- return haystack.match(new RegExp(".*("+needle.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&")+").*", "i"));
- }
- function directify()
- {
- for (i=0; i < page_links.length; i++)
- {
- page_links[i] = orig_page_links[i];
- }
- for (i=0; i < page_links.length; i++)
- {
- pglh = page_links[i].href;
- getQueryParams(pglh);
- getQueryParamsEncoded(pglh);
- if (getContains("free-tv-video-online.info/interstitial2.html", pglh))
- {
- newlinkhref = query.lnk;
- console.log(page_links[i].href + " => " + newlinkhref);
- page_links[i].href = newlinkhref;
- }
- else if(pglh.match(/webmasterworld\.com(\/.*)?/i))
- {
- newlinkhref = queryEncoded.url;
- console.log(page_links[i].href + " => " + newlinkhref);
- page_links[i].href = newlinkhref;
- }
- else if(getContains("www.researchgate.net/go.Deref.html", pglh))
- {
- newlinkhref = query.url;
- console.log(page_links[i].href + " => " + newlinkhref);
- page_links[i].href = newlinkhref;
- }
- }
- }
- directify();