2010-05-18 1 views
0

저는 jQuery와 Greasemonkey를 처음 접했지만 URL을 개편하고 싶습니다. 주어진 예를 들어링크에서 URL 매개 변수를 가져와 Greasemonkey 스크립트에 새 링크를 만들려면 어떻게해야합니까?

:

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

정규 표현식 검색을 사용하여 값을 가져옵니다. 당신이 사전에 PARAM 이름을 알고 있다면 , 그것은 ...

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 : 이것은 교육적 코드입니다. 야생에서 사용할 때 여분의 공간과 악의적 인 데이터를 조심하십시오.

+0

브록 감사합니다. 나는 param 이름을 안다. 페이지의 각 이미지는 "index.php? param = value1 & param2 = .........."에 링크되었습니다. 지금 시도했지만 페이지의 모든 링크를 "다시 쓰는"방법을 모르겠습니다. 이 param과 함께. 그 다음에 나는 당신의 모범이 위대한 일을 할 것이라고 생각합니다. :) – Bulfen

+0

당신은 모든 링크에 대해 물어 보지 않았다, 당신은 문서 URL에 대해 물었다. 중도 문제를 바꾸는 것은 좋지 않습니다. ;-) 어쨌든 모든 링크에 대해 XPATH 검색이나'document.getElementsByTagName ('a')'와 같은 링크를 사용하면됩니다. 하지만 새 질문을 열고 문제의 웹 페이지에 대한 링크를 게시하거나 문제의 정확한 링크 코드 붙여 넣기를 포함해야합니다. 다음 질문이 올 가능성을 높이려면이 질문에 답하십시오. –

+0

죄송합니다. : P 브록 감사합니다. 나는 독서와 시험을 통해 그것을 알아낼 것이다. ;) – Bulfen

관련 문제