정확히 일치하지는 않습니다. window.location.protocol + '//' + window.location.host
에는 루트 디렉토리를 나타내는 슬래시가 없습니다. 그러나 모든 의도와 목적을 위해, 그들은 상호 교환 적으로 사용될 수 있습니다. '가 80 이외의 경우
window.location.protocol + '//' + window.location.host + '/'
window.location.href
'//' + window.location.host + '/' //useful if you don't know the scheme and don't want to check
'/'
window.location.host
포트 번호를 포함, 그래서 당신은 shouldn : 당신이 <base>
를 사용하지 않는 가정 실제 사용에서
, 다음은 모두 같은 장소를 가리 킵니다 그것을 포함하는 것에 대해 걱정할 필요가 없습니다. '/'
을 쓰는 것이 더 간단하고 명확합니다. "이 페이지의 출처가 된 서버의 루트 디렉토리"를 항상 의미하므로 URI에 username:[email protected]
과 같은 것이 포함되어 있으면 상황이 털이 나올 수 있습니다. JS를 사용하여 해당 데이터를 가져올 수있는 방법을 모르겠습니다. 개별 구성 요소에서 URI를 재구성하려고하면 코드가 이와 같은 비정상적인 환경으로 마이그레이션되는 경우 문제가 발생할 수 있습니다.
이 모든 공식 정의는 RFC3986이며, 정확히 읽지는 않습니다.
같은 의미라면 다른 사람에 대한 공식적인 제안은 볼 수 없습니다. – hvd
어디서 똑같은 뜻입니까? 내 질문은 가정을 기반으로하고 지금까지 그들은 일했다 : P – Stefan
아시다시피, window.location.protocol 현재 사용중인 프로토콜입니다, window.location.host 현재 사용중인 호스트, 마지막/당신을 다시 데려다 줄 것입니다 현재 프로토콜과 호스트로 시작해야하는 웹 컨테이너의 루트. 알고 있어야하는 컨텍스트 경로입니다. – ndtreviv