따라쟁이

승근이의 LifeLog – We learn many things by imitation!

Archive for the ‘javascript’ tag

IE에서의 팝업창 레퍼러(referer)

2 comments

IE에서 window.open(url)로 열리는 팝업의 경우 GET 요청 헤더에 referer 정보를 포함하지 않습니다. Referer를 체크해서 뭔가를 하는 경우(제가 일하는 곳에서는 주로 방문 집계등과 같은 통계 정보를 추출하기 위해 사용합니다)에 문제가 됩니다.

일반적으로 팝업창을 여는 코드는 다음과 같습니다.

<a href="http://www.daum.net/" onclick="window.open(this.href, 'popup','width=800,height=400').focus();return false;">Open Popup window</a>

위의 코드를 IE에서 실행한 후 Fiddler 등으로 확인해 보면 referer 정보가 없다는 것을 확인할 수 있습니다. 다른 브라우저에서는 referer가 존재합니다(사실 정확히는 모르겠지만 IE에서만 그렇다는…). 그래서 이 코드를 다음과 같시 수정했더니 referer가 포함되네요.

<a href="http://www.daum.net/" target="popup" onclick="window.open('', 'popup','width=800,height=400').focus();">Open Popup window</a>

원리는 onclick 이벤트 시 url을 명시하지 않고 창을 연 다음, 링크의 타겟을 해당 창 이름으로 설정하는 방식입니다. 주의할 점은 onclick 이벤트에서 return false;를 하지 않도록 해서 기본 동작(링크 이동)을 수행한다는 점입니다.

약간 걱정되는 것은 혹시 window.open()의 동작과 페이지 열기가 비동기적으로 동작해서(페이지 열기 후 window.open()이 실행되는?) 팝업창의 속성이 제대로 안먹히면 어쩌나 하는 걱정이. ^^;

Written by suguni

November 12th, 2008 at 3:15 pm

Posted in Front-end

Tagged with , , ,

Planning JavaScript for Larger Teams – Chris Heilmann

leave a comment

Chris Heilmann@mediaAjax에서 발표한(사실 잘 모르겠음, 발표자에는 없으니까) Planning JavaScript for Larger Teams의 드래프트, 배포 버전입니다.

SlideShare | View | Upload your own

내용은 다음과 같습니다. 특히 Mistake we make이 와 닿네요. 어떻게 해야 할지는 잘 모르겠지만.

  • Mistake we make
    1. Mising structure, presentation and behaviour
    2. Trusting the browser
    3. Trusting the markup
    4. Not planning for inclusion
    5. Not planning for failure
    6. Premature optimization
  • Tip
    1. Follow a diet plan
    2. Have a build process
    3. Have a code standard and documentation process
    4. Review and reuse code
    5. Plan for extension
    6. Think maintenance

Written by suguni

November 29th, 2007 at 2:18 pm