2012-01-25 2 views
4

나는 this question 찾고과 구글을 검색하지만 난 어떤 업데이 트를 찾을 수 없습니다, 그래서jQuery를 사용하여 URL 매개 변수를 가져 오거나 변경하거나 제거 하시겠습니까?

https://github.com/blairmitchelmore/jquery.plugins의 마지막 업데이트가 https://github.com/cowboy/jquery-bbq

에 2009 년과 2010 년에 있었기 때문에 어떤 아무것도 최근 알고 있다면 궁금했다

또는 다른 아이디어? 내 URL에 매개 변수를 추가/변경/제거해야합니다.

+0

페이지가로드 된 후 URL을 변경 하시겠습니까? – Hacknightly

+0

예 ... 페이지가로드 된 후 정확히 – Alex

+0

이것은 보안 문제로 인해 주로 발생합니다. 연결된 플러그인을 사용할 수 없습니까? 나는 이것들이 단지 해시 값을 조작 할 것이라고 생각한다. – Hacknightly

답변

10

순수 JS로 작업하기 쉽습니다.

www.samaxes.com

var queryParameters = {}, queryString = location.search.substring(1), 
    re = /([^&=]+)=([^&]*)/g, m; 

while (m = re.exec(queryString)) { 
    queryParameters[decodeURIComponent(m[1])] = decodeURIComponent(m[2]); 
} 

// Add new parameters or update existing ones 
queryParameters['newParameter'] = 'new parameter'; 
queryParameters['existingParameter'] = 'new value'; 
location.search = $.param(queryParameters); 

그것에서 흠이없는이 코드를 참조하십시오. 그러나 적어도 그것은 당신에게 어떤 생각을 줄 수 있습니다.

업데이트 1 :
Here은 (캔트 기억) 내가 다른 대답을 쓴 기능입니다. 그것은 완벽하게 작동합니다.

+0

location.search 페이지를 새로 고치지 않습니까? 나는 그것이 op를 위해 작동한다면 이것이 Ok라고 생각한다. 재 장전이 바람직하지 않다고 생각했습니다. – Hacknightly

+0

아니요. 'location.search'에는'?'가 추가 된 검색어 문자열이 포함되어 있습니다. 그것의 문자열. –

+0

location.search = "foobar"를 콘솔에 입력하면 페이지가 다시로드됩니다. – Hacknightly

관련 문제