저를 포함해서 대부분의 html 초보들이 꼭 필요한 기능이라고 생각하면서도 헤깔려하는 부분이 새 창을 어떻게 띄우느냐 하는 문제입니다. 새 창을 띄우는 방법은 여러 가지 방법이 있습니다만 html을 이용해서 띄우는 방법이 간단합니다. 물론 사용자가 스스로 새 창을 띄울 수도 있습니다. 링크를 클릭할 때 오른쪽으로 클릭해서 새 창에 링크 열기 또는 (불여우나 ie7 이상에서) 새 탭에 링크 열기를 하면 됩니다. 물론 shift키를 누른 상태에서 그냥 마우스를 클릭하면 되기도 합니다.
그런데 html 작성자가 새로운 창이나 탭에 링크를 열게 하려면 어떻게 해야 할까요?
답은 간단합니다. TARGET 속성을 이용하면 됩니다.
링크의 기본적인 html 형식은
입니다. 주소는 웹주소를 뜻하며 http 주소이고, 쓰기는 힘들지만 name 속성이 포함되어도 됩니다.
여기에 다음과 같이 속성을 넣어주면 됩니다.
여기서 속성에 어떤 문자열을 넣느냐에 따라서 새 창이 뜰지 어떨지가 바뀌게 됩니다.
속성은 몇 가지가 있습니다.
_blank, _parent, _self, _top
_blank는 무조건 새로운 창을 띄우고 링크를 엽니다. 불여우의 경우에는 새 탭에서 링크를 엽니다.
_parent는 부모창에서 엽니다. 부모창은 그 창이 열린 링크를 갖고 있는 창을 말합니다. 만약 부모창이 없다면 _blank와 동일하게 되구요…
_self는 자신의 윈도우에서 열립니다. 이는 쓸모가 없을 듯 싶습니다만 분명 쓸모가 있습니다. iframe이 많이 쓰이던 시절에 사용되던 것이라고나 할까요? ^^;;
_top은 창문들의 가장 첫 번째로 열린 창에 링크를 엽니다. 별 필요가 없겠죠?
이 3개의 속성 말고도 몇 가지 속성이 더 있습니다만 쓸모가 별로 없더군요. (그래서 저도 잊어먹었습니다.) 임의의 문자열을 만약에 준다면 어떻게 될까요? 임의의 문자열을 속성으로 갖는 윈도우가 열립니다. 예를 들어 많은 링크를 클릭하면서 한 창을 통해서 계속 보고 싶다면 임의의 동일 문자열을 링크마다 속성으로 주면 됩니다.
위의 질문에서 이야기한 _new 속성은 사실상 특별히 지정된 것이 아니고 임의의 문자열을 준 것과 같은 결과가 나타납니다. _new가 특별히 지정된 속성이 아니기 때문입니다. 다만 new라는 단어의 뜻 때문에 사람들이 헤깔리는 것일 뿐입니다.
간단하지만 좋은 팁이네요.
감사합니다.