用greasemonkey脚本替换URL中的字母

问题描述 投票:0回答:1

我尝试修改发现的一些脚本-但它们无法正常工作。

[当加载的页面上有一个链接指向: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/');

}

但是它什么也没做。

如果有人可以提供帮助,我将不胜感激!

Part2:更好的解决方案是,如果我可以像这样重新制作整个链接。

网页上的旧链接:https://website.new/ia-o/number1/number2/number3/number4.jpeg.html

页面上的新链接:https://website.new/o/number1/number2/number3/number4.jpeg

(因此从链接中删除ia-以及.html)

但是任何一种解决方案都行得通!

谢谢!

url-rewriting greasemonkey
1个回答
0
投票

替换当前页面中所有链接中的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');
    }

})();
© www.soinside.com 2019 - 2024. All rights reserved.