Url rewriting 用于替换url中的字母的greasemonkey脚本

Url rewriting 用于替换url中的字母的greasemonkey脚本,url-rewriting,greasemonkey,Url Rewriting,Greasemonkey,我试图修改我找到的一些脚本,但它们不起作用 当加载的页面上有指向以下内容的链接时: https://website.new/ia-o/number1/number2/number3/number4.jpeg.html 我想让它实际指向: https://website.new/ib-o/number1/number2/number3/number4.jpeg.html 因此,基本上只需替换链接中的一个字母(从*/ia-o/*到*/ib-o/*) 这是我尝试过的脚本: // ==UserScrip

我试图修改我找到的一些脚本,但它们不起作用

当加载的页面上有指向以下内容的链接时:
https://website.new/ia-o/number1/number2/number3/number4.jpeg.html

我想让它实际指向:
https://website.new/ib-o/number1/number2/number3/number4.jpeg.html

因此,基本上只需替换链接中的一个字母(从
*/ia-o/*
*/ib-o/*

这是我尝试过的脚本:

// ==UserScript==
// @name        website.new
// @namespace   lii
// @description redirect to anothersite
// @include     https://website.new/*
// @version     1
// @grant       none
// ==/UserScript==

var links,thisLink;
links = document.evaluate("//a[@href]",
    document,
    null,
    XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
    null);

for (var i=0;i<links.snapshotLength;i++) {
    var thisLink = links.snapshotItem(i);

    thisLink.href = thisLink.href.replace('https://website.new/ia-o/',
                                          'https://website.new/ib-o/');

}
/==UserScript==
//@name.website.new
//@lii
//@description重定向到另一个站点
//@包括https://website.new/*
//@version 1
//@grant none
//==/UserScript==
var链接,thisLink;
links=document.evaluate(“//a[@href]”,
文件,
无效的
XPathResult.UNORDERED\节点\快照\类型,
无效);

对于(var i=0;i替换当前页面中所有链接中的href属性

// ==UserScript==
// @name        website.new
// @namespace   lii
// @description redirect to anothersite
// @include     https://website.new/*
// @version     1
// @grant       none
// ==/UserScript==

(function() {

    for (var i=0,link; (link=document.links[i]); i++) {
        link.href = link.href.replace('oldvalue', 'newvalue');
    }

})();
您可以替换单个字母

link.href.replace('a', 'o');
还是整句话

link.href.replace('grease', 'tamper');
在您的特定情况下,只需将不需要的字符串替换为空字符串即可

link.href = link.href.replace(/ia-|\.html/g, '');

这与前面的答复类似,只是稍微缩短了一点

// ==UserScript==
// @name        website.new
// @namespace   lii
// @description redirect to anothersite
// @include     https://website.new/*
// @version     1
// @grant       none
// ==/UserScript==

[...document.links].forEach(item => item.href = item.href.replace('oldvalue', 'newvalue'));

只是为了澄清一下,您想重定向到另一个URL,还是只是替换该URL?