1)
싸이월드 공감의 "아이콘" 버튼을 이용해서 "공감수"를 확인하고 싶다는 얘기가
http://club.cyworld.com/53489290155/58008893 나와서,
즉석해서 만들어본 방법입니다.
*참고*
http://devsquare.nate.com/openApi/empathyButton
..
2)
아이콘이 <span id=clickButton130522_1></span> 공감처리하면 디테일해지죠.
<script>
// http://club.cyworld.com/53489290155/58008893
var
buttonReceiver
;
(function (){
var
cb=document.getElementById('clickButton130522_1')
, cc=0
, wReceived
;
buttonReceiver=function(wReceiver) {
if (wReceiver) wReceived=wReceiver; else wReceiver=wReceived;
try {
if (wReceiver) {
if (wReceiver.closed) {
cb.innerHTML='<iframe src="http://csp.cyworld.com/ac/external_sp.php?U=http://www.cyworld.com&B=H" title=\'싸이월드 공감 버튼\' frameBorder=\'0\' scrolling=\'no\' allowTransparency=\'true\' width=\'100\' height=\'20\'></iframe>';
return;
}
cb.innerHTML='processing.. '+(cc++);
setTimeout(buttonReceiver, 1000);
} else {
cb.innerHTML='what\'s matter..? '+(cc++);
setTimeout(buttonReceiver, 1000);
}
} catch(err) {
cb.innerHTML='sorry.. error..';
}
}
cb.innerHTML='<a onclick="buttonReceiver(window.open(\'http://csp.cyworld.com/bi/bi_recommend_pop.php?url=http://www.cyworld.com\', \'recom_icon_pop\', \'width=400,height=364,scrollbars=no,resizable=no\')); return false;" href="#" alt="싸이월드 공감" title="싸이월드 공감" target="_blank" ><img border="0" src="http://csp.cyworld.com/images/ico_clog.gif" alt="싸이월드 공감" title="싸이월드 공감" ></a>';
})();
</script>
..
3)
아이콘이 공감처리하면 디테일해지죠.
..
4)
원리(?)는, 띄워지는 팝업창을 변수로 잡아두고(?)있다가,
setTimeout 으로 해당 창이 닫힐때까지 모니터링 하고, (setTimeout의 존재는 cc++ 로 확인됩니다)
닫히면(wReceiver.closed) 공감수를 띄워 종료하는 방식입니다.
..
5)
API 설명에 있는 샘플에, buttonReceiver130522_1 이라는 함수값으로 넘긴 거라고 보시면 됩니다.
.. 리턴값을 적용하는 형식이 더 좋겠습니다만, 함수적용을 위해서 var 를 넣자니 너무 길어져서요..
window.prototype[] 을 적용해서 기차놀이하는 것도 좋겠습니다만,
window Element 에 접근하는건 조금더 확실해진 후에 하는게 좋겠죠 ^^;..
(output target 이라든지, .. 함수의 무결성이 아직은 부족하거든요..)
..
증가될 메모리 갯수나, 팝업 여러개를 띄울 경우를 생각 못해서(= =;..)
wReceived 한개만 적용했습니다.
DOM 공유는 그냥 넘어가(?)도, 팝업창 선택, 포커스 등의 문제를 해결해야 하니까요..
.. 팝업창 여러개..의 관리는 몰라도
여러개의 공감버튼을 적용하려 한다면
buttonReceiver=function(wReceived){ var wReceived, loofF; loofF=function(){ .. ; setTimeout(loofF, 1000); }; loofF(); };
요런 형식이 될 것 같네요.
(스크립트 공부하실(?) 분들을 위해 적용은 남겨둡니다 ㅎㅎ..)
..
wantHate killofki@.
'event' 카테고리의 다른 글
HTML5 :DropFile] 파일을 드롭해봤습니다. (0) | 2014.01.27 |
---|---|
window.event] 이벤트가 받아내는 값을 봅니다.. (0) | 2013.09.16 |
풍뎅이뎅이]..의 휴재편을 이용해서 스크롤 애니메니션을 만들어봤습니다만.. (1) | 2012.12.06 |
selection] 선택 범위 해제에 관련해서.. (0) | 2012.04.04 |
scrollBar] 스크롤 드래그를 감지해보고 싶었습니다. (0) | 2012.04.04 |