如何从链接获取URL参数以在Greasemonkey脚本中形成新链接?

时间:2010-05-18 12:05:36

标签: 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('sid=')+15); 
// How do I set the length of blabla2 ? -7 ?

希望有人理解我的意思,可以帮助我一点点。

1 个答案:

答案 0 :(得分:1)

使用正则表达式搜索来获取值。 如果您事先知道参数名称,那么它比看起来更简单......

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';  
.

PS:如果您事先不知道这些名字,那只会稍微多一点 PPS:这是教育代码。在野外使用时要小心额外的空间和恶意数据。