답변:
다음 .indexOf()
과 .substring()
같이 and 를 사용할 수 있습니다 .
var url = "www.aaa.com/task1/1.3.html#a_1";
var hash = url.substring(url.indexOf("#")+1);
당신은 여기에서 그것을 시도를 제공 할 수 있습니다 그것은이 없을 수 있다면, #
그것에을 수행 if(url.indexOf("#") != -1)
과 같이 체크를 :
var url = "www.aaa.com/task1/1.3.html#a_1", idx = url.indexOf("#");
var hash = idx != -1 ? url.substring(idx+1) : "";
현재 페이지 URL 인 경우 URL window.location.hash
을 가져 와서 #
원하는 경우 바꿀 수 있습니다.
url.split("#").pop()
-느리지 만 쉽습니다.
들어 현재 창 , 당신은이를 사용할 수 있습니다 :
var hash = window.location.hash.substr(1);
기본 창의 해시 값을 얻으려면 다음을 사용하십시오.
var hash = window.top.location.hash.substr(1);
URL / 해시가 포함 된 문자열이있는 경우 가장 쉬운 방법은 다음과 같습니다.
var url = 'https://www.stackoverflow.com/questions/123/abc#10076097';
var hash = url.split('#').pop();
jQuery를 사용하는 경우 다음을 사용하십시오.
var hash = $(location).attr('hash');
var hash = window.location.hash.substr(1);
-JS는 substr / substring 함수를 모두 가지고 있기 때문에 서로 다르지만이 경우에는 동일합니다.
사용하다
window.location.hash
#을 포함한 모든 것을 검색
location.hash.slice(1)
최종 문자열에 해시 태그를 원하지 않으면 사용하십시오 !
jQuery 스타일 :
$(location).attr('hash');
당신은 구문 분석하기 위해 다음과 같은 "속임수"를 사용할 수 있는 유효한 URL을. 그것은 이용합니다 앵커 요소 의 특별한 href가 관련 속성을 hash
.
function getHashFromUrl(url){
return $("<a />").attr("href", url)[0].hash.replace(/^#/, "");
}
getHashFromUrl("www.example.com/task1/1.3.html#a_1"); // a_1
function getHashFromUrl(url){
var a = document.createElement("a");
a.href = url;
return a.hash.replace(/^#/, "");
};
getHashFromUrl("www.example.com/task1/1.3.html#a_1"); // a_1
일반 URL 문자열 만 있고 (해시 속성이없는 경우) 정규식을 사용할 수도 있습니다.
var url = "www.example.com/task1/1.3.html#a_1"
var anchor = url.match(/#(.*)/)[1]
window.top.location.hash
대신 사용해야 합니다.