Greasemonkey 在没有正则表达式的情况下从 url 中删除字符串
Greasemonkey remove string from url without regex
如果我有一个网页,每个 URL 上都有推荐字符串,我想用 greasemonkey 删除它,我该怎么做?
例如:
<a href="https://website.refer?url=www.google.com"> The link </a>
更改为:
<a href="www.google.com"> The link </a>
如何删除 URL?
的“/website.refer?url=”部分
我已经尝试过诸如:
document.getElementsByTagName("a").replace('/website.refer?url=','');
然而我似乎没有任何尝试见fiddle:Here
请不要使用正则表达式。谢谢
遍历每个 <a>
,通过 URLSearchParameters 获取 url
参数,并将其分配给 <a>
:
的 href
document.querySelectorAll('a').forEach((a) => {
const params = new URLSearchParams(a.href.split('?')[1]);
a.href = '//' + params.get('url');
});
<a href="https://website.refer.com?url=www.google.com"> The link </a>
document.getElementsByTagName
将 return 直播 HTMLCollection
并将作品替换为 strings
。
相反,您可以获取每个 a
标记的 href
属性并对其使用替换。
document.querySelectorAll('a').forEach(a => {
const newHref = a.getAttribute('href').replace('//website.refer?url=', '');
a.href = newHref;
});
<a href="https://website.refer?url=www.google.com"> Link 1 </a>
如果我有一个网页,每个 URL 上都有推荐字符串,我想用 greasemonkey 删除它,我该怎么做?
例如:
<a href="https://website.refer?url=www.google.com"> The link </a>
更改为:
<a href="www.google.com"> The link </a>
如何删除 URL?
的“/website.refer?url=”部分我已经尝试过诸如:
document.getElementsByTagName("a").replace('/website.refer?url=','');
然而我似乎没有任何尝试见fiddle:Here
请不要使用正则表达式。谢谢
遍历每个 <a>
,通过 URLSearchParameters 获取 url
参数,并将其分配给 <a>
:
href
document.querySelectorAll('a').forEach((a) => {
const params = new URLSearchParams(a.href.split('?')[1]);
a.href = '//' + params.get('url');
});
<a href="https://website.refer.com?url=www.google.com"> The link </a>
document.getElementsByTagName
将 return 直播 HTMLCollection
并将作品替换为 strings
。
相反,您可以获取每个 a
标记的 href
属性并对其使用替换。
document.querySelectorAll('a').forEach(a => {
const newHref = a.getAttribute('href').replace('//website.refer?url=', '');
a.href = newHref;
});
<a href="https://website.refer?url=www.google.com"> Link 1 </a>