반응형
[ 브라우저 지원현황 ]
- IE, Firefox : 즐겨찾기 추가 기능
- Chrome, Safari, Opera : 단축키(Ctrl+D) 알림
[ HTML ]
<a href\="#" id\="favorite" title\="즐겨찾기 추가"\>즐겨찾기에 추가</a\>
[ Javascript ]
$(document).ready(function() {
$('#favorite').on('click', function(e) {
var bookmarkURL = window.location.href;
var bookmarkTitle = document.title;
var triggerDefault = false;
if (window.sidebar && window.sidebar.addPanel) {
// Firefox version < 23
window.sidebar.addPanel(bookmarkTitle, bookmarkURL, '');
} else if ((window.sidebar && (navigator.userAgent.toLowerCase().indexOf('firefox') > -1)) || (window.opera && window.print)) {
// Firefox version >= 23 and Opera Hotlist
var $this = $(this);
$this.attr('href', bookmarkURL);
$this.attr('title', bookmarkTitle);
$this.attr('rel', 'sidebar');
$this.off(e);
triggerDefault = true;
} else if (window.external && ('AddFavorite' in window.external)) {
// IE Favorite
window.external.AddFavorite(bookmarkURL, bookmarkTitle);
} else {
// WebKit - Safari/Chrome
alert((navigator.userAgent.toLowerCase().indexOf('mac') != -1 ? 'Cmd' : 'Ctrl') + '+D 키를 눌러 즐겨찾기에 등록하실 수 있습니다.');
}
return triggerDefault;
});
});
상위 URL 적용 시 3번 라인 수정
var bookmarkURL \= parent.location.href;
triggerDefault return하는건 함수로 쓸때 return안하고 조건으로 true일 때 alert 띄워주면 될듯하다
반응형