2013-02-28 1 views
0

자, 이제 JScirpt를 페이지 용으로 만들고있어 키보드 버튼을 눌러 다음 페이지로 이동할 수 있습니다. 페이지 URL은 다음과 같습니다. http://example.org/12345, 그래서 내 스크립트에서 원하는 것은 버튼을 누를 때마다 1 씩 숫자를 늘리는 것입니다. 나는 대부분의 코드를 잘 생각하지만 늘 아무것도 할JScript url replacement

function GoThere() { 
var url = window.location.pathname; 
var ew = 'url'+1 
url = eq.replace(location.hostname, location.hostname+ew); 
window.location = url; 
} 

누군가를 살펴보고 내가 잘못 한 일을 설명하려고 수 있다면 감사하겠습니다

// EniM

답변

1

url이 int인지 확인하고 따옴표를 제거하십시오. 일부 정리를 사용할 수도 있지만,

// strip out the/
var curint = window.location.pathname.replace(/\D/g,''); 

// convert string to int 
curint = parseInt(curint, 10); 

var nextint = curint + 1; 
window.location = 'http://example.org/' + nextint; 

Chrome에서 콘솔을 확인하십시오. JS를 줄 단위로 실행할 수 있습니다 ... 그냥 함수 또는 var를 입력하면 결과가 인쇄됩니다. 또는 소스에서 중단 점을 설정하십시오.

+0

1이면 경로를 올바르게 구문 분석하지 못합니다. window.location.pathname을 보면 int보다 더 많은 정보가 여기 있습니까? 정수를 먼저 닮은 문자열이 필요합니다. 그런 다음 정수로 변환하면 수학을 할 수 있습니다. –

+0

좋아, 지금 일종의 고마워. 유일한 문제는 코드가 12346 대신에 123451을 추가하는 대신 1을 넣는다는 것입니다. 전에는 int를 사용하지 않았지만 어쨌든 내 코드에 문제가있는 것은 아닙니다. 작동하지 않지만 뭐가 잘못 됐는지 모르겠군요. – Nemx

+0

죄송합니다. 나는 그것을 엉망으로 만들었고 코드는 완벽하게 작동합니다, 버그 탱크 =). 지금 나는 단지 (/ \ D/g, '') 의미하지만 구글이 나의 친구라는 것을 정확히 이해하려고 노력할 것입니다. 어쨌든, 내 코드가 작동하도록하려고 할거야, 내가 수학을하기 전에 int가되어야합니까? 아니면 문자열로 그것을 할 수 있습니까? 편집 - 웹 페이지 URL을 복사 할 때봤을 때,/show/example/show/12345 사이에 문자열이있는 경우 Cat123은 숫자를 int로 만들고 문자를 무시합니다. – Nemx

1

var ew = 'url'+1 

은 그것이 있어야 문제는이 라인에 의존 생각

var ew = parseInt(url)+1; 
+0

'url' 비트 주위에 따옴표가 없어야합니다 ... – Stobor

+0

내 나쁜 점을 잊어 버렸습니다 - 편집 됨 –

+0

Ty, int를 먼저 작성했지만 window.location.pathname.replace를 사용해야합니다. (/ \ D/g, ''); 어쨌든 깨끗한 URL을 위해, 나머지는 작동하지 않습니다. 어쨌든 왜 작동하는지 알지 못합니다.) – Nemx