Javascript 如何从链接中获取URL参数以在Greasemonkey脚本中形成新链接?
我对jQuery和Greasemonkey很陌生,但我想改革一个URL 例如,假设:Javascript 如何从链接中获取URL参数以在Greasemonkey脚本中形成新链接?,javascript,jquery,greasemonkey,Javascript,Jquery,Greasemonkey,我对jQuery和Greasemonkey很陌生,但我想改革一个URL 例如,假设: http://www.example.com/index.php?value1=blabla1&sid=blabla2&mid=blabla3 我想: link://www.example.com/blabla1/data/blabla2/blabla3.ext 我试过这样的代码: var sid=document.URL.substring(document.URL.indexOf('s
http://www.example.com/index.php?value1=blabla1&sid=blabla2&mid=blabla3
我想:
link://www.example.com/blabla1/data/blabla2/blabla3.ext
我试过这样的代码:
var sid=document.URL.substring(document.URL.indexOf('sid=')+15);
// How do I set the length of blabla2 ? -7 ?
希望有人能理解我的意思,并能帮我一点忙。使用正则表达式搜索来获取值。 如果您事先知道参数名称,那么它比看起来更简单
var searchableStr = document.URL + '&';
var value1 = searchableStr.match (/[\?\&]value1=([^\&\#]+)[\&\#]/i) [1];
var sid = searchableStr.match (/[\?\&]sid=([^\&\#]+)[\&\#]/i) [1];
var mid = searchableStr.match (/[\?\&]mid=([^\&\#]+)[\&\#]/i) [1];
.最后一位类似于:
var domain = searchableStr.match (/\/\/([w\.]*[^\/]+)/i) [1];
var newlink = '//' + domain + '/' + value1 + '/data/' + sid + '/' + mid + '.ext';
.
附言:如果你事先不知道名字,只需要稍微多做一点工作。PPS:这是教育准则。在野外使用时,小心多余的空间和恶意数据。谢谢你,布罗克。我知道情人的名字。页面上的每个图像都链接到“index.php?param=value1¶m2=……”。我现在尝试过,但不确定如何使用这些参数“重写”页面上的每个链接。除此之外,我认为您的示例将非常有效。:)您并没有询问每个链接,而是询问文档url。中途改变这个问题是不好的无论如何,对于每个链接,您都可以通过XPATH搜索或类似于
document.getElementsByTagName('a')
的搜索来获取它们。但是,您应该为此提出一个新问题,并发布一个指向相关网页的链接——或者至少包括一个相关链接代码的粘贴。标记此问题的答案,以增加下一个问题也会出现的可能性。对此表示抱歉:P非常感谢你的帮助,布罗克。我会通过一些阅读和测试来找出答案