Если вы хотите забацать на свой сайт кнопку добавления материалов в сервисы социальных закладок (коих чуть менее, чем 9000) типа addthis.com или odnaknopka.ru но без левой рекламы, то эта заметка для вас.
Собственно пример такой кнопки виден у меня на сайдбаре. Примерно там же, в исходном коде страницы, вы найдете и ее составные части: картинки и сам js-скрипт.
Все это добро необходимо закинуть в удобную для вас папку и вызвать виджет примерно таким кодом:
<script type="text/javascript" src="http://вашцайт.ru/bookmarks.js"/> |
Под катом исходник скрипта.
var NotisCss='#F7EAE0'; var NoticeStyle='margin:0;padding:0;width:130px;background:'+NotisCss+';float:left;text-align:left;color:black;font:normal 12px arial;line-height:20px'; var NoticeStyle1='margin:0;padding:0;width:130px;background:'+NotisCss+';float:left;text-align:right;color:black;font:normal 12px arial;line-height:20px'; var SiteUrl='wmdn.ru'; var SUrlToSite='<span style="'+NoticeStyle1+'"><a href="http://wmdn.ru/" style="font:normal 12px arial;line-height:20px;">wmdn.ru</a> </span>'; var BankImg='http://'+SiteUrl+'/images/'; function NewButton() { this.domain=location.href+'/'; this.domain=this.domain.substr(this.domain.indexOf('://')+3); this.domain=this.domain.substr(0,this.domain.indexOf('/')); this.location=false; this.selection=function() { var sel; if (window.getSelection) sel=window.getSelection(); else if (document.selection) sel=document.selection.createRange(); else sel=''; if (sel.text) sel=sel.text; return encodeURIComponent(sel); } this.redirect=function() { if (this.location) location.href=this.location; this.location=false; } this.go=function(i) { this.location=this.url(i); setTimeout('CButton.redirect()',50); } this.url=function(system) { var title=encodeURIComponent(document.title); var url=encodeURIComponent(location.href); switch (system) { case 1: return 'http://bobrdobr.ru/addext.html?url='+url+'&title='+title; case 2: return 'http://memori.ru/link/?sm=1&u_data[url]='+url+'&u_data[name]='+title; case 3: return 'http://www.mister-wong.ru/index.php?action=addurl&bm_url='+url+'&bm_description='+title; case 4: return 'http://del.icio.us/post?v=4&noui&jump=close&url='+url+'&title='+title; case 5: return 'http://zakladki.yandex.ru/userarea/links/addfromfav.asp?bAddLink_x=1&lurl='+url+'&lname='+title; case 6: return 'http://www.google.com/bookmarks/mark?op=add&bkmk='+url+'&title='+title; case 7: return 'http://text20.ru/add/?source='+url+'&title='+title+'&text='+this.selection(); case 8: return 'http://pisali.ru/load_article/'; case 9: return 'http://news2.ru/add_story.php?url='+url; case 10: return 'http://smi2.ru/add/'; case 11: return 'http://myscoop.ru/add/?URL='+url+'&title='+title; case 12: return 'http://moemesto.ru/post.php?url='+url+'&title='+title; case 13: return 'http://www.ruspace.ru/index.php?link=bookmark&action=bookmarkNew&bm=1&url='+url+'&title='+title; case 14: return 'http://www.100zakladok.ru/save/?bmurl='+url+'&bmtitle='+title; case 15: return 'http://rumarkz.ru/bookmarks/?action=add&popup=1&address='+url+'&title='+title; case 16: return 'http://www.vaau.ru/submit/?action=step2&url='+url; } } this.hide=function() { if (this.timeout) clearTimeout(this.timeout); document.getElementById('IdButton').style.visibility='hidden'; } this.show=function(element) { if (this.timeout) clearTimeout(this.timeout); var left=0,top=0; var style=document.getElementById('IdButton').style; while (element) { left+=element.offsetLeft; top+=element.offsetTop; element=element.offsetParent; } style.left=left+'px'; style.top=(top+20)+'px'; style.visibility='visible'; } this.init=function() { var titles=new Array('БобрДобр','Memori','Мистер Вонг','del.icio.us','Яндекс.Закладки','Закладки Google','Текст 2.0','Писaли','News2','СМИ 2','AddScoop','МоёМесто','RuSpace','Сто Закладок','RUmarkz','Ваау!'); if (!document.getElementById('IdButton')) { var div=document.createElement('div'); var style=div.style; div.id='IdButton'; div.innerHTML='<span style="'+NoticeStyle+'"> Добавить в:</span>'; div.innerHTML+=SUrlToSite+'<br />'; for (i=0;i<8;i++) { div.innerHTML+='<a href="'+this.url(2*i+1)+'" onclick="CButton.go('+(2*i+1)+');return false" "'+target="_blank"+'"><img src="'+BankImg+'backg.gif" width="16" height="16" title="'+titles[2*i]+'" style="border:0;padding:0;margin:2px;float:left;background:url('+BankImg+'buttons.gif) -'+(i*32)+'px"/></a><a href="'+this.url(2*i+1)+'" style="float:left;width:110px;text-align:left;text-decoration:none;color:#666;font:normal 12px arial;line-height:20px;border:0" onmouseover="this.style.background=\''+NotisCss+'\'" onmouseout="this.style.background=\'#fff\'" onclick="CButton.go('+(2*i+1)+');return false" "'+target="_blank"+'">'+titles[2*i]+'</a><a href="'+this.url(2*i+2)+'" onclick="CButton.go('+(2*i+2)+');return false" "'+target="_blank"+'"><img src="'+BankImg+'backg.gif" width="16" height="16" title="'+titles[2*i+1]+'" style="border:0;padding:0;margin:2px;float:left;background:url('+BankImg+'buttons.gif) -'+(i*32+16)+'px"/></a><a href="'+this.url(2*i+2)+'" style="float:left;width:110px;text-align:left;text-decoration:none;color:#666;font:normal 12px arial;line-height:20px;border:0" onmouseover="this.style.background=\''+NotisCss+'\'" onmouseout="this.style.background=\'#fff\'" onclick="CButton.go('+(2*i+2)+');return false" "'+target="_blank"+'">'+titles[2*i+1]+'</a><br />'; } div.onmouseover=function() {if (CButton.timeout) clearTimeout(CButton.timeout)} div.onmouseout=function() {CButton.timeout=setTimeout('CButton.hide()',500)}; style.position='absolute'; style.visibility='hidden'; style.maxWidth='262px'; style.border='1px solid #aaa'; style.background='#fff'; style.font='normal 12px arial'; style.lineHeight='20px'; style.margin='0'; style.padding='0'; style.overflow='hidden'; style.zIndex='1000'; document.body.insertBefore(div,document.body.firstChild); } document.write('<img src="http://wmdn.ru/images/bookmarks.png" width="81" height="16" style="border:0;margin:0;padding:0;cursor: hand;" onmouseover="CButton.show(this);" onmouseout="CButton.timeout=setTimeout(\'CButton.hide()\',100);">'); } } CButton=new NewButton(); CButton.init(); |
В итоге имея хорошее настроение и google под рукой поменять в нем можно практически все.
Update:
Чтобы ссылки открывались в новом окне необходимо из строк:
<a href="'+this.url(2*i+1)+'" onclick="CButton.go('+(2*i+1)+');return false" "'+target="_blank"+'"> |
убрать onclick='CButton.go('+(2*i+1)+');return false'.
Вопрос к читателям: есть идеи как добавить ссылку типа «отправить на мыло» как в addthis на ajax-форму отправки письма?
Отлично, буду пользовать. СПасибо Вам.
Подскажите, а как эти кодировки символов Боб& расшифровывать и чем и что это значит?
странно написал кодировку а вылезло слово Боб... понятно бобр получится, а что всё таки означют и как кодируются и раскодируются эти кодировки в этой части кода this.init=function() {
var titles=new Array
Это так называемые коды html-сущностей(символов)