Cum să pui un buton de share fără 100 plugin-uri

Cererea a fost să existe un buton de share pe fb pe blog fără să încarce nimic de pe facebook (mai precis pixelul ăla care te urmărește peste tot). Și soluția e simplă. 

Cod HTML:

<button id="social-share-button">apasă-l</button>

Javascript:

/* very simple share button */
function shareMePls() {
  var d=document,f='https://www.facebook.com/share',l=d.location,e=encodeURIComponent,p='.php?src=bm&v=4&i=1362806155&u='+e(l.href)+'&t='+e(d.title);1;try{if (!/^(.*\.)?facebook\.[^.]*$/.test(l.host))throw(0);share_internal_bookmarklet(p)}catch(z) {a=function() {if (!window.open(f+'r'+p,'sharer','toolbar=0,status=0,resizable=1,width=626,height=436'))l.href=f+p};if (/Firefox/.test(navigator.userAgent))setTimeout(a,0);else{a()}}void(0);
}

jQuery(document).ready(function () {
  jQuery('#social-share-button').click( shareMePls );
});

 

Mulțumesc că ai citit acest articol.
Dacă vrei să susții acest blog, cumpără un abonament de 5$

44 comentarii

  1. Sa-mi bag p# urat mai e Javascript

    00
  2. Fara JQuery ar fi :

    
    window.onload = function () {
      document.getElementById("social-share-button").addEventListener("click", function(){
        let d=document,f='https://www.facebook.com/share',l=d.location,e=encodeURIComponent,p='.php?src=bm&v=4&i=1362806155&u='+e(l.href)+'&t='+e(d.title);1;try{if (!/^(.*\.)?facebook\.[^.]*$/.test(l.host))throw(0);share_internal_bookmarklet(p)}catch(z) {a=function() {if (!window.open(f+'r'+p,'sharer','toolbar=0,status=0,resizable=1,width=626,height=436'))l.href=f+p};if (/Firefox/.test(navigator.userAgent))setTimeout(a,0);else{a()}}void(0);
    
      });
    }
    
    00
  3. Pe varianta dark a blogului pe mobil codul se vede alb pe gri deschis.

    00
  4. Eu folosesc de prin 2012 snippet-ul ăsta, pe care-l am pus ca bookmark în Chrome (bookmarklet). Face același lucru, preluând automat site-ul pe care-l ai deschis în momentul respectiv în browser:

    javascript:var d=document,f='http://www.facebook.com/share',l=d.location,e=encodeURIComponent,p='.php?src=bm&v=4&i=1282545200&u='+e(l.href)+'&t='+e(d.title);1;try{if (!/^(.*\.)?facebook\.[^.]*$/.test(l.host))throw(0);share_internal_bookmarklet(p)}catch(z) {a=function() {if (!window.open(f+'r'+p,'sharer','toolbar=0,status=0,resizable=1,width=626,height=436'))l.href=f+p};if (/Firefox/.test(navigator.userAgent))setTimeout(a,0);else{a()}}void(0)

    00
  5. //putin off topic

    Ati vazut siteul IMM Invest care a fost spart de hackerii rai?
    https://www.imminvest.ro/

    Eu cred l-au spart sa nu se faca Catu de ras cu designul. Zici ca e facut in Word.

    00
    • nu am văzut.

    • Gradientul ăla, roș-albastru, zici ca e făcut de Gigi Becali.

      00
    • Ceva ruda de a lui Catu a facut acum bani frumos din facut un site in Dreamweaver MX (sau notepad).

      00
    • Arată ca un cur dar se mișcă super bine, spre deosebire de majoritatea site-urilor cu 25 de JS libs, 5000 de linii de cod și 15000 de eventuri să afișeze o pagină.

      Exemplu:

      Network requests:
      imminvest.ro – sub 1 sec
      datelazi.ro – sub 1 sec

      JS & events:
      imminvest.ro – sub 0.5 sec
      datelazi.ro – aprox. 2.5 sec

      00
  6. Din seria: Cum sa-l ajuti pe Satana, dar doar un pic! :) Fuck FB!

    00
  7. Cererea a fost o pulă. A fost lauda că „blogul meu merge fără feisbuci” (ia vezi ce frumos lustria eftimie) până când ai înțeles că traficul din feisbuci nu e deloc neglijabil. Adică, pe românește, banii nu candește.

    00
  8. astept un tutorial de cum sa pui logare cu fb fara pluginuri :(

    00
  9. Dar un buton de share pe tiktok cand punem si noi ca sa atragem si tineretul pe blog?

    00
  10. Pune și CSS-ul, e frumos să livrezi un proiect incomplet? Ce ești tu, agenție?

    00
  11. Cookie bar-ul e necesar in conditiile astea?

    Sau pentru ce din ceea ce utilizezi este necesar Cookie bar-ul?

    00
    • nu e necesar, dar gdpr…

    • @Cato: pe Chrome, poți să scapi de el cu extensia asta.

      00
    • Conform GDPR, trebuie notificati utilizatorii daca cel putin una din situatiile urmatoare este adevarata:
      – plantezi cookies in mod automat, cu durata scurta sau temporara, iar acestea sunt necesare pentru functionarea site-ului (spre exemplu, cookies de sesiune)
      – procesezi adresele ip ale vizitatorilor, doar in scop de analiza statistica agregata, fara a le stoca pe termen lung si fara a le utiliza ulterior pentru corelatii
      Aceste doua situatii intra sub aspectul numit „interes legitim”, dar notificarea utilizatorilor este in continuare necesara – nu trebuie sa-si de acordul, ci doar sa fie informati.

      In situatiile urmatoare este necesar acordul explicit:
      – plantezi cookies cu durata lunga (spre exemplu, marketing sau retargeting cookies)
      – colectezi date personale: nume, varsta, adresa email, adresa ip etc. (spre exemplu, formularul de comentariu)
      In cel de-al doilea caz, colectarea de date uneori intra tot sub aspectul de interes legitim (vezi cazul magazinelor online), dar tot este necesar acordul explicit.

      In acest moment, pe piata sunt extrem de putini cei ce urmaresc si aplica directiva in mod corect.

      00
    • Am scris un articol despre implementarea GDPR unde am tratat și cookie bar-ul vieții – https://simplenet.ro/gdpr-wordpress/

      TLDR: Nu ai nevoie de el dacă nu salvezi cookies ce reprezintă date cu caracter personal.

      00
    • contez pe tine.

    • Zi mersi că nu ești forțat cu un banner pe ecran complet și să fii dat afară dacă nu accepți.

      Am căutat ‘i hate gdpr’ și am dat peste asta: https://www.reddit.com/r/gdpr/comments/7l5pbl/rant_being_honest_here_probably_the_only_one_but
      Acum îl urăsc și mai tare.

      00
    • Au trecut doi ani de atunci, nu a adus absolut nimic pozitiv, ci doar mai multă chinuială pentru firmele de bună credință și mai multă mizerie de înghițit pentru omul de rând

      00
    • Agariciul din postul Reddit linkuit mai sus mănîncă rahat. Cu trei mîini. Ce mare inovație de căcat vrea el să facă, care necesită ca userii să fie abonați, fără voia lor la chestii (newslettere goale de conținut, despre nimic, pe care nu le vrea nimeni, eventual la pornhub), ca minori de 13 an să facă chestii pe net fără acordul părinților, sau că un business din US, dacă vrea să stocheze datele unora din EU, să respecte niște chestii minime și de bun simț? Hai mă, marș la căcat.

      Nota bene, nu zic că implementările în multe cazuri nu-s de căcat, și că și cu GDPR unora li se flendură, dar orișicît. În orice caz, nu GDPR e de vină că oamenii-s jegoși (și fac nasoale) și corupți (și nu aplică regulile).

      00
    • Problema este ca nu se vede absolut niciun beneficiu de pe urma GDPR, ci doar timp si resurse irosite in credinta ca asa se vor oprii magariile cu datele personale. Cand colo, mizeriile au loc in continure.

      00
  12. @ Vali: tot citesc de ceva vreme si am discutat si cu un avocat apropo de necesitatea prezentei notificarii aleia si nu cred ca e necesara in absolut orice conditie.

    Nu m-am lamurit complet, dar inclin sa cred ca nici prezenta Google Analytics nu trebuie semnalizata daca nu ai anumite chestii activate.

    Alternativa sigura e Fathom Analytics sau Simply Analytics, pentru cei care nu avem de dat datele de trafic spre agentii.

    @seba 18: nu intrebam in sensul ca ma deranjeaza, ci in sensul necesitatii prezentei chiar in ciuda gdpr.

    Cred ca in anumite conditii poate fi ocolita legal si moral acea notificare.

    00
  13. Eu am căutat o soluție ca să mă pot deloga de pe telefon.
    Intru din Chrome pe facebook, dar nu pot sa dau logout cand am terminat, pentru ca meniul se incarca la nesfarsit.

    Soluția a fost să caut pe google și să salvez un link de pe care să pot ieși din cont instantaneu:
    https://www.facebook.com/help/contact/logout?id=260749603972907

    00
  14. Eu folosesc un cod și mai simplu: https://pastebin.com/3MLBCz1U

    Am pus acolo variantele de twitter și facebook pentru apelat interfața de share cu un link pus pe buton/text, fără JS sau jQuery.

    00

Adaugă un comentariu

Câmpurile marcate cu * sunt obligatorii! Adresa de email nu va fi publicată.

1. Linkurile utile în context sunt binevenite.
2. Comentariile asumate fac bine la blăniță.
3. Șterg comentariile care îmi strică buna dispoziție.
4. Nu fiți proști, agramați sau agresivi la primele 50 comentarii aici.

Susținere

Susține acest blog cumpărând de la eMAG sau de la Finestore.