Rev. 2.73

태터툴즈 1.0.x에는 방명록 또는 댓글 등에 패비콘을 표시하는 플러그인이 있다. 이 플러그인과 동일한 기능을 가진 자바스크립트 버전을 만들어 보았다. IE 및 파이어폭스 등에서 작동하며, 서버측 리소스를 차지하지 않는다. 태터툴즈 뿐만 아니라. 댓글을 남긴 방문객의 링크가 담긴 A태그에 이름이 싸인형태로 된 페이지에서 모두 사용할 수 있다. 단, Prototype 프레임웍이 로드되어 있어야 한다.

자바스크립트 :

//Visitor's Favicon Viewer
//Developer: 파이어준(FireJune) URL (http://firejune.com)

var Favicon = {
//Arrary element
align:function(array) {
$$(array).each(function(element) {
var node = element.lastChild;
var prepend = element.firstChild;
if(node.href != undefined && !prepend.firstChild) {
var url = node.href;
var img = Favicon.create(url, 'ico');
if(navigator.userAgent.indexOf("MSIE") != -1) img = Favicon.create(url, 'gif');
prepend.appendChild(img);
Event.observe(prepend.firstChild, 'error', function() {
Element.remove(prepend.firstChild);
});
}
});
},
//Create Favicon Image
create:function(url, type) {
var img = document.createElement('IMG');
if(url.substring(url.length-2, url.length-1) != '/') url = url.substring(0, url.length-1);
img.className = 'favicon';
if(type == 'ico') img.src = url + '/favicon.ico';
else img.src = url + '/index.gif';
return img;
}
}

- 지정된 배열을 만든다.
- URL 유무를 파악한다.
- 해당 URL의 ICO파일에 접근한다.
- IE에서는 ICO파일을 사용할 수 없으므로 index.gif에 접근한다.
- 작성자 이름앞에 IMG노드를 생성한다.
- 파일 수신에 오류가 발생하면 생성한 IMG노드를 제거한다.

사용하기:

Favicon.align('span.className'); // 클래스명 입력

- 클래스명은 방문자 링크가 있는 A태그의 부모 SPAN 또는 DIV태그의 클래스명이어야 한다.

※ 이 프로젝트는 프로젝트 위키에서 계속 이어집니다.다.

Comments

Got something to add? You can just leave a comment.

Your Reaction Time!

captcha

avatar