NOTICE

a href DOM, BOM

Date : 2010. 12. 6. 00:22 Category : Programming/Javascript
링크가 하나 있고 이걸 클릭했을 때 새 창으로 띄우려고 한다.
아마 많은 사람들이
<a href="http://nyaongnyaong.com" target="_blank">click</a>
이런 식으로 할 것이다.

그렇다면 팝업으로 할 경우엔 어떻게 하나?
<a href="javascript:window.open('http://nyaongnyaong.com', '', 'width=500, height=300');">click</a>
<a href="#" onclick=""javascript:window.open('http://nyaongnyaong.com', '', 'width=500, height=300');">click</a>

보통 위 두 가지 방식에서 javascript:라고 하는 슈도 프로토콜만 있고 없고의 차이일 뿐 거의가 대동소이할 것이다.
그런데 저렇게 하면 틀렸다는 것이다.
아주 예전 브라우저는 슈도 프로토콜을 지원 않는다.
그리고 비표준이다.

저것보다 나은 방식이
<a href="http://nyaongnyaong.com" onclick="window.open(this.href, 'newWin', 'width=500, height=300');">click</a>
가 되겠다(BOM).

DOM 방식은
<a href="http://nyaongnyaong.com" onclick="window.open(this.getAttribute('href'), 'newWin', 'width=500 height=300');">click</a>


그렇다.
DOM 방식은 BOM 방식보다 길고 BOM 방식은 앞에 나온 애들보다 아주 약간 길다.
귀찮다고 처음에 나온 애들처럼 쓰지 말자.


여담이지만 내 주변에 저렇게 쓰는 인간 있다.
지는 처음 배울 때부터 저렇게 배웠다고 하면서 지가 맞다고 박박 우긴다.
왜? '~읍'이랑 '~습' 이거 한참 중복해서 쓸 때 그렇게 배웠다고 지금도 그렇게 쓰시지요??