URL 연산자는 URL를 구성하거나 추가하는 연산자입니다.
URL 연산자
연산자 | 설명 |
---|---|
path | 새로운 URL 만듦 |
appendParams | URL에 쿼리 스트링 추가 |
params | URL에 쿼리 스트링을 추가 및 변경 |
fragment | 앵커 추가, 변경 |
쿼리 스트링이란?
쿼리 스트링(Query String)은 GET 방식으로 데이터를 넘길 때 URL 주소 뒤에 붙는 key=value 형식의 파라미터를 말합니다.
앵커란?
앵커(anchor)는 페이지 내 긴 문서에서 특정한 요소를 클릭하면 그 위치로 이동시켜주는 기능입니다.
예제 1
path 연산자는 URL에 문자열과 결합하여 새로운 URL를 만듭니다. 아래 예제는 블로그 주소에 /search/label/블로거가 추가되어 반환합니다.
<b:eval expr='data:blog.url path "/search/label/블로거"' />
<!--
결과:
https://name.blogspot.com/search/label/블로거
-->
예제 2
appendParams 연산자를 사용하면 URL에 쿼리 스트링을 추가할 수 있습니다. 아래 예제는 블로그 주소에 새로운 쿼리 스트링 ?label=블로거&meta=true가 추가되어 반환합니다.
<b:eval expr='data:blog.url appendParams { label: "블로거", meta: "true" }' />
<!--
결과:
https://example.blogspot.com/?label=블로거&meta=true
-->
예제 3
params 연산자는 appendParams 연산자와 비슷하게 동작하지만 기존 쿼리 스트링이 있다면 새로운 쿼리 스트링으로 대체되어 반환합니다. 예를 들어 기존 쿼리 스트링 m=1이라면 m=2으로 교체되어 반환됩니다.
<b:eval expr='data:blog.url path "?m=1" params { label: "블로거", m: "2" }' />
<!--
결과:
https://example.blogspot.com/?label=블로거&m=2
-->
<b:eval expr='data:blog.url path "?m=1" appendParams { label: "블로거", m: "2" }' />
<!--
결과:
https://example.blogspot.com/?label=블로거&m=1&m=2
-->
예제 4
fragment 는 새로운 앵커를 만들거나 기존 앵커를 변경할 수 있습니다. 아래와 같이 #top 앵커가 있다면 fragment 속성을 이용하면 새로운 앵커인 #return 앵커로 교체할 수 있습니다.
<b:eval expr='data:blog.searchUrl fragment "top"' />
<!--
결과:
https://name.blogspot.com/search#top
-->
<b:eval expr='data:blog.searchUrl path "#top" fragment "return"' />
<!--
결과:
https://name.blogspot.com/#return
-->