在 greasemonkey 中修改 URL 的脚本
Script to modify a URL in greasemonkey
我正在尝试更改以下内容url:
http://www.example.net/?image=full&action=view&imageid=1361
进入
http://www.anothersite.com/download&id=1361&thumb=0
同时保留 id(示例中的 1361
)
(将 'example.net/?image=full&action=view&image' 更改为 'anothersite.com/download&' 并在 url 末尾添加“&thumb=0”)
如何为此编写 GreaseMonkey 脚本?
ps。我已经用谷歌搜索并复制了下面的代码。它正在工作,但问题是它也将 '&thumb=0' 添加到另一个 link (不仅仅是 'replaced' link(s))
// ==UserScript==
// @name whatever
// @namespace lii
// @description redirect to anothersite
// @include http://www.example.net/?image=full&action=view*
// @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('http://www.example.net/?image=full&action=view&image',
'http://www.anothersite.com/download&') + "&thumb=0";
}
试试这个:
thisLink.href = thisLink.href.replace(RegExp('http://www\.example\.net/\?image=full&action=view&image(.*)'),
'http://www.anothersite.com/download&&thumb=0');
它应用正则表达式来匹配 URL 并提取 id 并将其作为
插入到结果字符串中。
更多信息请见 MDN。
我正在尝试更改以下内容url:
http://www.example.net/?image=full&action=view&imageid=1361
进入
http://www.anothersite.com/download&id=1361&thumb=0
同时保留 id(示例中的 1361
)
(将 'example.net/?image=full&action=view&image' 更改为 'anothersite.com/download&' 并在 url 末尾添加“&thumb=0”)
如何为此编写 GreaseMonkey 脚本?
ps。我已经用谷歌搜索并复制了下面的代码。它正在工作,但问题是它也将 '&thumb=0' 添加到另一个 link (不仅仅是 'replaced' link(s))
// ==UserScript==
// @name whatever
// @namespace lii
// @description redirect to anothersite
// @include http://www.example.net/?image=full&action=view*
// @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('http://www.example.net/?image=full&action=view&image',
'http://www.anothersite.com/download&') + "&thumb=0";
}
试试这个:
thisLink.href = thisLink.href.replace(RegExp('http://www\.example\.net/\?image=full&action=view&image(.*)'),
'http://www.anothersite.com/download&&thumb=0');
它应用正则表达式来匹配 URL 并提取 id 并将其作为 插入到结果字符串中。
更多信息请见 MDN。