2014-10-24 10 views
26

Sto guardando il latest update to Facebook's share button. Sembra che non sia più possibile includere un pulsante di condivisione in un sito Web senza includere l'SDK javascript di Facebook o l'avere un'app Facebook da qualche parte che fornisce un ID app?Come creare un pulsante di condivisione di Facebook senza SDK o ID app personalizzato?

pulsante Condividi esempio 1 utilizza l'SDK di Facebook

FB.ui({ 
    method: 'share', 
    href: 'https://developers.facebook.com/docs/', 
}, function(response){}); 

pulsante Condividi esempio 2 utilizza un'applicazione personalizzata id

https://www.facebook.com/dialog/share? 
    app_id=145634995501895 
    &display=popup 
    &href=https%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2F 
    &redirect_uri=https%3A%2F%2Fdevelopers.facebook.com%2Ftools%2Fexplorer 

Domanda: come costruire un pulsante chiaro e semplice condivisione per Facebook con un solo linea di codice, che non richiede librerie e ID app?

+0

Non possibile. E perché vorresti farlo? – WizKid

+6

Un client ha un sito web che richiede un semplice pulsante "condividi questa pagina su facebook", ma non voglio creare un'app "vuota" solo per creare un pulsante. Soprattutto perché l'app deve essere pubblica. Qual è il punto di avere un'app di Facebook vuota pubblica? Solo così puoi avere un ID? – Kokodoko

+2

Sì. Quindi sappiamo chi c'è dietro di esso – WizKid

risposta

47

è possibile utilizzare facebook collegamento partecipe e un semplice pop-up per fare il lavoro

$("#facebookShareLink").on("click",function(){ 
    var fbpopup = window.open("https://www.facebook.com/sharer/sharer.php?u=http://stackoverflow.com", "pop", "width=600, height=400, scrollbars=no"); 
    return false; 
}); 
+2

Grazie. Ho pensato che questo metodo fosse deprecato ma a quanto pare, Facebook lo sta permettendo di nuovo: http://www.joshuawinn.com/ facebooks-sharer-php-longer-deprecated-2014/ – Kokodoko

+0

Grazie mille per questo.Stato cercando di trovare una cosa così semplice per ore! Lieto che funzioni ancora nel '16 :) – IfElseTryCatch

+0

E 'ancora funzionante come 19 giugno 2017. Ma in realtà, sono ancora preoccupato che possa essere deprecato in futuro. :( –

6

Crea una funzione che sarà centrare il pop-up ogni volta.

function openURLInPopup(url, width, height, name) { 
    if (typeof(width) == "undefined") { 
     width = 800; 
     height = 600; 
    } 
    if (typeof(height) == "undefined") { 
     height = 600; 
    } 
    popup(url, name || 'window' + Math.floor(Math.random() * 10000 + 1), width, height, 'menubar=0,location=0,toolbar=0,status=0,scrollbars=1'); 
} 

Poi il tuo link dovrebbe essere così Per Twitter:

<a class="btn_twitter" onclick="openURLInPopup('http://twitter.com/home?status=http://www.domain.ro/url.html',600, 400); return false;" href="#" target="_blank">Twitter</a> 

per Facebook:

<a class="btn_fb" onclick="openURLInPopup('http://www.facebook.com/sharer.php?u=http://www.domain.ro/url.html',600, 400); return false;" href="#" target="_blank">Facebook</a> 

Per Google

<a class="btn_gplus" onclick="openURLInPopup('https://plus.google.com/share?url=http://www.domain.ro/url.html',600, 400); return false;" href="#">gplus</a> 
+2

Inutile, la funzione" popup "non è inclusa. – Wesley

+4

@Wesley non è difficile indovinare come sarebbe la funzione "popup". In effetti, avrebbe potuto farlo in linea con qualcosa di simile a 'var newwindow = window.open (url, name || 'window' + Math.floor (Math.random() * 10000 + 1), 'width =' + larghezza + ', altezza =' + altezza); \t if (window.focus) {newwindow.focus();} ' –

5

E 'possibile. Non c'è bisogno di un'applicazione FB per una semplice condivisione di URL. Crea una semplice finestra pop-up e usa la finestra di condivisione di Facebook.

https://developers.facebook.com/docs/sharing/reference/share-dialog Questo è ancora incluso nella loro API al momento.

window.open("https://www.facebook.com/sharer/sharer.php?u=http://www.gmanetwork.com/news/", "pop", "width=600, height=400, scrollbars=no"); 
Problemi correlati