对于此类IP-direct,Google搜索的网页:
http://62.0.54.118/search?&q=42&oq=42&sourceid=chrome&ie=UTF-8&filter=0
如何将该页面中的所有链接从search?q
更改为search?&q=
?
例如,我想建立链接:
http://62.0.54.118/search?q=42&ei=Xf5bUqHLOKeQ0AWV4YG4Cg&start=10&sa=N&filter=0
成:
http://62.0.54.118/search?&q=42&ei=Xf5bUqHLOKeQ0AWV4YG4Cg&start=10&sa=N&filter=0
如何让Chrome通过自动脚本或类似的方式更改链接?
答案 0 :(得分:1)
这是一个可能适合您的正则表达式:
var url = 'http://62.0.54.118/search?q=42&oq=42&sourceid=chrome&ie=UTF-8&filter=0'
var regex = /(http:\/\/.*?search\?)(.*)/
console.log( url.replace(regex, '$1&$2') )
// 'http://62.0.54.118/search?&q=42&oq=42&sourceid=chrome&ie=UTF-8&filter=0'
您需要遍历页面中的所有网址并将其应用于每个网址。
您是否需要帮助修改目标页面中的HTML,或者您是否可以从此处获得解决方案?
答案 1 :(得分:1)
要在静态页面上更改这些链接(例如您的示例):
完整的用户名希望如下:
// ==UserScript==
// @name _Modify select Google search links
// @include http://YOUR_SERVER.COM/YOUR_PATH/*
// @include http://62.0.54.118/*
// ==/UserScript==
var qLinks = document.querySelectorAll ("a[href*='?q=']");
for (var J = qLinks.length - 1; J >= 0; --J) {
var oldHref = qLinks[J].getAttribute ('href');
var newHref = oldHref.replace (/\?q=/, "?&q=");
//console.log (oldHref + "\n" + newHref);
qLinks[J].setAttribute ('href', newHref);
}
将文件另存为GoogleLinkModify.user.js
,然后drag it to the extensions page to install。 (或者安装the Tampermonkey extension并通过Tampermonkey安装脚本。)
href
,许多Google网页也会忽略这一点,并且在点击链接时也会偷偷地重定向链接。有关详细信息,请参阅或打开其他问题。答案 2 :(得分:0)
简洁的单行内容,可以书写为scriplet:
javascript:for(i in dl=document.links)dl[i].href=dl[i].href.replace(/(http:.*search[?])(q=.*)/,'$1&$2')
即。一种观察遍历的SO链接的简单方法,无论是相关的还是链接的或原始的,无论如何:
javascript:for(i in dl=document.links)dl[i].href=dl[i].href.replace(/[?].q=1/,"")