2015-05-30 2 views
0

Я пытаюсь изменить следующий URL:Скрипт для изменения URL в Greasemonkey

http://www.example.net/?image=full&action=view&imageid=1361 

в

http://www.anothersite.com/download&id=1361&thumb=0 

сохраняя при этом идентификатор (1361 в примере)

(change 'example.net/?image=full & action = view & image' to 'anothersite.com/download &' и добавить '& thumb = 0 'в конце URL-адреса)

Как написать сценарий GreaseMonkey для этого?


пс. Я уже отправил его в Google и скопировал код ниже. Это работает, но проблема это добавляет '& палец = 0' к другой линии тоже (а не только 'заменить' ссылку (ы))

// ==UserScript== 
// @name  whatever 
// @namespace lii 
// @description redirect to anothersite 
// @include  http://www.example.net/?image=full&action=view* 
// @version  1 
// @grant  none 
// ==/UserScript== 

var links,thisLink; 
links = document.evaluate("//a[@href]", 
    document, 
    null, 
    XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, 
    null); 

for (var i=0;i<links.snapshotLength;i++) { 
    var thisLink = links.snapshotItem(i); 

    thisLink.href = thisLink.href.replace('http://www.example.net/?image=full&action=view&image', 
              'http://www.anothersite.com/download&') + "&thumb=0"; 

} 

ответ

0

Попробуйте это:

thisLink.href = thisLink.href.replace(RegExp('http://www\\.example\\.net/\\?image=full&action=view&image(.*)'), 
             'http://www.anothersite.com/download&$1&thumb=0'); 

It применяет регулярное выражение для соответствия URL-адресу и извлекает идентификатор и вставляет его в $1 в результирующую строку.

Дополнительная информация на странице MDN.

Смежные вопросы