Как получить параметры URL из ссылки, чтобы сформировать новую ссылку в скрипте Greasemonkey? - PullRequest
0 голосов
/ 18 мая 2010

Я довольно новичок в 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 Ответ

1 голос
/ 24 мая 2010

Используйте поиск по регулярному выражению, чтобы получить значения. Если вы заранее знаете имена параметров, это проще, чем кажется ...

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: это образовательный код. Остерегайтесь лишних пробелов и вредоносных данных при использовании в дикой природе.

...