자바 스크립트 : location.href와 위치 설정
당신은 설정 할 때 location
설정 대 URL 문자열 location.href
?
location = "http://www.stackoverflow.com";
vs
location.href = "http://www.stackoverflow.com";
location
약간 짧아서 직접 설정할 수 있습니다 . 간결 해 지려고한다면 보통 window.
너무 생략 해도됩니다.
모두 URL 할당 location.href
하고 location
다시 넷스케이프 2, 자바 스크립트 1.0 일에 정의되어, 이후 모든 브라우저에서 구현되고있다. 따라서 선택하고 가장 명확한 것을 사용하십시오.
두 가지 모두 작동하더라도 후자를 사용합니다. location
는 객체이며 문자열을 객체에 할당해도 가독성이나 유지 관리에 적합하지 않습니다.
이미 말했듯이 입니다. location
객체그러나 그 사람은 둘 중 하나를 사용하도록 제안했습니다. 그러나 .href
버전 을 사용하는 것이 좋습니다 .
객체에는 기본 속성이 있으며, 다른 속성이 지정되지 않은 경우 해당 속성이 사용됩니다. location
객체 의 경우 라는 속성이 .href
있습니다. 그리고 할당하는 동안 ANY 속성을 지정하지 않으면 기본적으로 "href"로 간주됩니다.
이후의 객체 모델 버전이 변경되고 더 이상 기본 속성이 없거나 기본 속성이 변경 될 때까지이 모든 것이 정상입니다. 그러면 프로그램이 예기치 않게 중단됩니다.
의미 href
하는 경우을 지정해야 href
합니다.
몇 년 전에 location
IE에서 저에게 location.href
효과가 없었으며 다른 브라우저에서도 효과가있었습니다. 그 이후로 나는 항상 방금 사용 location.href
했으며 다시는 문제가 없었습니다. 어떤 버전의 IE인지 기억할 수 없습니다.
그냥 명확히하기 위해 당신이 할 수없는 location.split('#')
, location
객체가 아닌 문자열입니다. 그러나 문자열 location.href.split('#');
이기 때문에 할 수 있습니다 location.href
.
그러나 명심해야 할 한 가지 차이점입니다.
현재 URL을 사용하여 URL을 작성한다고 가정 해 봅시다. 다음 코드는 실제로 호출하지 String.replace
않지만 다음 코드를 리디렉션합니다 Location.replace
.
nextUrl = window.location.replace('/step1', '/step2');
다음 코드가 작동합니다.
// cast to string
nextUrl = (window.location+'').replace('/step1', '/step2');
// href property
nextUrl = window.location.href.replace('/step1', '/step2');
TypeScript를 사용하면 기술적으로 다음과 같은 객체가 사용 window.location.href
됩니다 window.location
.
Properties
hash
host
hostname
href <--- you need this
pathname (relative to the host)
port
protocol
search
문자열 유형 window.location
인 동안 설정 하면 유형 오류가 발생 window.location.href
합니다.
참고 URL : https://stackoverflow.com/questions/2383401/javascript-setting-location-href-versus-location
'development' 카테고리의 다른 글
Internet Explorer 브라우저 용 JavaScript에서 Array indexOf ()를 수정하는 방법 (0) | 2020.03.17 |
---|---|
SQL Server에서 숫자, 부동 및 소수의 차이점 (0) | 2020.03.17 |
파이썬리스트는 요소가 삽입 된 순서대로 유지되도록 보장합니까? (0) | 2020.03.17 |
Mac OS X 10.8 / Xcode 4.4에서 gcc 사용 / 설치 방법 (0) | 2020.03.17 |
문자열 데이터에 putExtra () 및 getExtra ()를 사용하는 방법 (0) | 2020.03.17 |