用于更改href的一部分的Greasemonkey脚本

时间:2017-08-26 08:42:13

标签: javascript url href

这是一个网站,例如:example.com。在本网站中有linkshrink.net/a123=example.com等链接。

我想要做的是用" /"替换/linkshrink.net/a123=这个部分,即只是一个斜杠,这将删除该广告直接到链接。

我想要做的就是找到并替换" href"中的某些文字。在整个页面中,每次加载页面时都会加载。

我可以在Greasemonkey中执行此操作吗?我不知道这是否可能,因为我对脚本没有任何了解。

这是我到目前为止所拥有的:

var links = document.links;
for( i=0; i<document.links.length; i++ )
{
    var pattern = /http:\/\/linkshrink.net\/[a-zA-Z0-9]*\=/;
    if(pattern.test(document.links[i].href) )
    {

        document.links[i].href = document.links[i].href.substr(document.links[i].href.indexOf("=")+1);
    }
}

我的链接是linkshrink.net/a123=example.com 现在在我的网页中显示example.com 我能够擦洗linkshrink

现在我尝试在其他网站上,它不工作:   bc.vc/13123/example.com

var links = document.links;
for( i=0; i<document.links.length; i++ )
{
    var pattern = /http:\/\/bc.vc\/[a-zA-Z0-9]*\=/;
    if(pattern.test(document.links[i].href) )
    {

        document.links[i].href = document.links[i].href.substr(document.links[i].href.indexOf("=")+1);
    }
}

我在哪里出错了(linkshrink链接以&#34; =&#34;符号结束;但bc.vc以&#34; /&#34;结尾,我尝试使用/更改= sign标志仍然不会工作。 任何想法?

1 个答案:

答案 0 :(得分:0)

获得了bc.vc的解决方案

 var links = document.links;
 for( i=0; i<document.links.length; i++ )
 {
    var pattern = /http:\/\/bc.vc\/[a-zA-Z0-9]*\//;
    if(pattern.test(document.links[i].href) )
   {

    document.links[i].href = document.links[i].href.substr(19);}
   }

http://bc.vc/12345/ = 19个单位

19代表我要删除的链接总长度