2011-10-05 8 views

답변

10

을하는 이점은 무엇입니까 다음 경우,

그래서 URL은 다음과 같습니다. http://something.com/foo#xyz, 도착 URL이 xyz

URL에 해시 표시가 없으면이 코드는 전체 URL (원하는 결과가 아닐 수 있음)을 반환합니다.

var hashPos = url.lastIndexOf ('#'); 
if (hashPos != -1) { 
    return url.substring(hashPos + 1); 
} else { 
    return(""); 
} 
+0

는 구체적으로, 그 후에 무엇이든 반환 * 마지막 * url''에서'#'의 발생. –

+0

sameold가 URL에 해시 표시를 사용하는 데 익숙하지 않은 경우, 요소의 name 속성을 사용하여 페이지 내의 장소를 책갈피에 사용하는 것이 유용하다는 점을 알아두면 유용합니다. 페이지로 이동하면 브라우저는 해시로 식별 된 콘텐츠로 스크롤 할 수 있습니다. – Random

2

그것은 URL에 # 후에 무엇이든 반환

이 아마 더 해시 값이없는 경우, 빈 문자열을 반환 안전한 변형입니다.

세부 사항 :

var hashPos = url.lastIndexOf ('#'); // Gets the position of the last # found in the string. 
return url.substring(hashPos + 1); // Gets a piece of the string starting at the given position (hashpos + 1). 
1

그것은 해시 (#) 표시 한 후 URL에 모든 것을 가져옵니다.

var url = "http://www.mysite.com/test#somesection"; 

var hashPos = url.lastIndexOf ('#'); 
return url.substring(hashPos + 1); //returns "somesection" 
1

마지막 # 문자 바로 뒤에서 끝까지의 문자열 부분을 반환합니다. 즉 해당 페이지의 위치

1
var hashPos = url.lastIndexOf ('#'); 

이 문자열은 URL 문자열에서 해시 문자 (#)의 위치를 ​​가져옵니다.

return url.substring(hashPos + 1); 

그러면 URL 문자열에 해시 위치 이후의 모든 항목을 반환합니다.

결과는 해시 태그입니다. 이것은 페이지 상태를 유지하고 실제로 별도의 페이지에 연결하지 않고 해당 상태에 연결할 수있는 AJAX 응용 프로그램에 많이 사용됩니다.

예는 다음과 같습니다

var recent_hash = "";      
setInterval(poll_hash, 100); // Initialize our hash polling interval for ajax urls 

function poll_hash() { 
if (url.substring(hashPos + 1) == recent_hash) { return; } // No change 
recent_hash = url.substring(hashPos + 1); 
process_hash(recent_hash); 
} 

function process_hash(hash_id) 
{ 
var ajax_url = '/ajax/link_hash/' + hash_id; 
$('#some_div').load(ajax_url) 
} 
관련 문제